submitHandler为无效表单激发-jQuery验证
我有一个表单可以动态创建它的输入字段。它工作得很好,但现在我需要在表单有效时调用函数。我的问题是,一旦加载表单,submitHandler为无效表单激发-jQuery验证,jquery,jquery-validate,Jquery,Jquery Validate,我有一个表单可以动态创建它的输入字段。它工作得很好,但现在我需要在表单有效时调用函数。我的问题是,一旦加载表单,submitHandler就会触发。我通过在提交处理程序中添加alert(“alert”)来验证它 <input type="text" id="FName" name="FName" class = "vali" /> //these input fields are for demonstration; these are created dynmaiclly
submitHandler
就会触发。我通过在提交处理程序中添加alert(“alert”)
来验证它
<input type="text" id="FName" name="FName" class = "vali" /> //these input fields are for demonstration; these are created dynmaiclly
<input type="text" id="SName" name="SName" class = "vali"/>
<button type="button" id="submit" name="submit"> //have tried type="submit" as well
</button>
<script type="text/javascript">
$(document).ready(function () {
$('.vali').each(function () {
$(this).rules('add', {
required: true,
messages: { required: "Can't be empty" },
submitHandler: function (form) {
alert("alert"); // this fires as soon as the page load.
}
})
});
});
</script>
//这些输入字段用于演示;这些都是动态创建的
//您也尝试过type=“submit”
$(文档).ready(函数(){
$('.vali')。每个(函数(){
$(此).rules('add'{
要求:正确,
消息:{必需:“不能为空”},
submitHandler:函数(表单){
alert(“alert”);//页面加载后立即触发。
}
})
});
});
submitHandler是.validate()
方法(插件的初始化方法)的回调函数。它是分配给整个表单行为的选项,从不分配给单个字段
提交者
- 不能在内部使用。只有单个规则和
选项可以位于消息
方法的内部.rules()
- 不能在
方法中使用.validate()
- 只能在或方法的内部使用
$(document).ready(function () {
$('#myform').validate({ // initialize plugin
submitHandler: function (form) {
// fires on a VALID form just after the submit button click event.
alert("alert");
}
});
});
或
由于需要在.validate()
之前调用.setDefaults()
,因此可以将其从DOM就绪事件处理程序中拉出以强制执行此操作
演示:我有一个动态表单,因此无法使用验证功能。我如何使用submitHandler,或者更确切地说,我拥有的另一个替代方法是什么。@user2322507,即使使用动态表单,
.validate()
方法也不是可选的-它是插件必须初始化的方式。如果您自己没有调用.validate()
,可能是您的框架自动调用了它。因此,如果你不能使用.validate()
作为你的插件选项,那么你可以使用.setDefaults()
,正如我在第三个要点中提到的那样。我尝试添加了在原始代码下面显示的验证代码u。未调用任何警报消息。@user2322507,您不能调用.validate()
方法两次。如果您的框架已经在自动调用.validate()
,则不能再次调用它。请参阅我的最新答案.setDefaults()
是此时您唯一的选项。即使使用setDefaults,我也无法看到警报消息。我回滚了编辑,因为此时接受的答案更有意义。
$.validator.setDefaults({ // change default options
submitHandler: function (form) {
// fires on a VALID form just after the submit button click event.
alert("alert");
}
});