jQuery 动态添加字段的表单验证
jQuery form validation for dynamically added field
我正在开发一个从我的后端动态获取员工的向导。生成员工 table(带有无线电输入字段),然后设置为我的 HTML 代码:
$.ajax({
method: "get",
url: '/getEmployees/',
dataType: 'json',
data: {
ids: JSON.stringify(services)
},
async: false,
success: function(data) {
$.each(data.workers, function(i, v) {
html += "<tr>";
html += "<td class=\"text-center\">";
html += "<label><input type=\"radio\" value=\"" + v.Worker.id + "\" name=\"employeeInput\" id=\"employeeInput\" /></label>";
html += "</td>";
html += "</tr>";
});
$('#employee_items').empty().html(html);
// Add new field
$('#employeeInput').formValidation('addField');
}
});
我正在使用 jQuery 插件验证我的表单输入 "formvalidation.io":
$('#employeeForm').formValidation({
framework: 'bootstrap',
fields: {
employeeInput: {
validators: {
notEmpty: {
message: 'Please choose an employee'
}
}
}
}
});
尝试了几个小时后,我发现必须手动将动态生成的字段添加到表单验证中:
http://formvalidation.io/examples/adding-dynamic-field/
我试过了,但到目前为止运气不好。当我动态添加此字段时,如何使用字段 employeeInput
的表单验证?
试试这个:
$('#employeeForm').formValidation('addField', $("#employeeInput"));
我正在开发一个从我的后端动态获取员工的向导。生成员工 table(带有无线电输入字段),然后设置为我的 HTML 代码:
$.ajax({
method: "get",
url: '/getEmployees/',
dataType: 'json',
data: {
ids: JSON.stringify(services)
},
async: false,
success: function(data) {
$.each(data.workers, function(i, v) {
html += "<tr>";
html += "<td class=\"text-center\">";
html += "<label><input type=\"radio\" value=\"" + v.Worker.id + "\" name=\"employeeInput\" id=\"employeeInput\" /></label>";
html += "</td>";
html += "</tr>";
});
$('#employee_items').empty().html(html);
// Add new field
$('#employeeInput').formValidation('addField');
}
});
我正在使用 jQuery 插件验证我的表单输入 "formvalidation.io":
$('#employeeForm').formValidation({
framework: 'bootstrap',
fields: {
employeeInput: {
validators: {
notEmpty: {
message: 'Please choose an employee'
}
}
}
}
});
尝试了几个小时后,我发现必须手动将动态生成的字段添加到表单验证中:
http://formvalidation.io/examples/adding-dynamic-field/
我试过了,但到目前为止运气不好。当我动态添加此字段时,如何使用字段 employeeInput
的表单验证?
试试这个:
$('#employeeForm').formValidation('addField', $("#employeeInput"));