Javascript Jquery验证程序插件没有';t检查新输入
嗨,我对一个表单使用jQuery验证程序。 到今天为止,一切都很顺利。我在表单中添加了一个新的代码,可以在表单中添加/删除额外的字段(将类设置为“必需”) 基本表单类似于>Javascript Jquery验证程序插件没有';t检查新输入,javascript,jquery,validation,Javascript,Jquery,Validation,嗨,我对一个表单使用jQuery验证程序。 到今天为止,一切都很顺利。我在表单中添加了一个新的代码,可以在表单中添加/删除额外的字段(将类设置为“必需”) 基本表单类似于> <form name="form" id="form"> <input name="text1" class="required"> <a id="addnew">Add new text</a> <div id="newitems"><
<form name="form" id="form">
<input name="text1" class="required">
<a id="addnew">Add new text</a>
<div id="newitems"></div>
<submit>
</form>
如果要添加动态内容,任何现有控件都不会影响新控件。修改dom后,必须再次分配事件。因此,在dom修改后再次调用验证程序。在创建新表单元素时,需要通知验证插件通过添加规则进行检查。将“required”类添加到元素时,仅当该元素在文档加载时才向插件发出警报。试试这个:
$(document).ready(function({
$("#form").validate();
$("#addnew").click(function({
var input = $("<input />").attr("name", "newinput");
$("#newitems").append(input);
input.rules('add', {'required': true})
});
});
$(文档).ready(函数{
$(“#表单”).validate();
$(“#添加新”)。单击(函数({
变量输入=$(“”).attr(“名称”,“新输入”);
$(“#newitems”)。追加(输入);
规则('add',{'required':true})
});
});
加载动态内容后,必须再次绑定事件
如果要向新控件添加任何不影响现有控件的动态内容,则必须在修改dom后再次分配事件。因此,在修改dom后再次调用验证程序
如果您想重新绑定,只需再次呼叫即可
$("#addnew").click(function({
$("#newitems").append('<input class="required" name="newinput">');
});
$(“#添加新”)。单击(函数({
$(“#新项目”)。附加(“”);
});
您还可以将其放入函数中
function rebindit() {
$("#addnew").click(function({
$("#newitems").append('<input class="required" name="newinput">');
});
}
函数重新绑定(){
$(“#添加新”)。单击(函数({
$(“#新项目”)。附加(“”);
});
}
每次内容更改时,请调用rebindit()javascript中有一个onchange事件,该事件在字段内容更改时触发。您也可以在新字段上使用它来验证该字段。绑定绑定将触发它两次,您需要首先清除当前绑定的项…虽然这是正确的操作过程,但它不适用于dynamically添加了项目。您仍然需要对所有内容进行debind和rebind。
function rebindit() {
$("#addnew").click(function({
$("#newitems").append('<input class="required" name="newinput">');
});
}