Jquery mobile .validate()在jQuery Mobile中不工作
这是我第一次使用plugin和.validate()方法。现在我有了一个表单,每次单击submit按钮,它都会运行,而不会执行表单验证。这是我的密码:Jquery mobile .validate()在jQuery Mobile中不工作,jquery-mobile,jquery-validate,Jquery Mobile,Jquery Validate,这是我第一次使用plugin和.validate()方法。现在我有了一个表单,每次单击submit按钮,它都会运行,而不会执行表单验证。这是我的密码: <form class="form d" method="post" action=""> <input type="text" name="searchtitle" id="searchtitle" placeholder="Enter the textbook's title">
<form class="form d" method="post" action="">
<input type="text" name="searchtitle" id="searchtitle" placeholder="Enter the textbook's title">
<input type="text" name="searchauthor" id="searchauthor" placeholder="Enter the textbook's author">
<input type="text" name="searchpublisher" id="searchpublisher" placeholder="Enter the textbook's Publisher">
<input type="text" name="searchedition" id="searchedition" placeholder="Enter the textbook's edition">
<select name="searchuniversity" id="searchuniversity"></select>
<select name="searchuniversitycampus" id="searchuniversitycampus" ></select>
<input type="submit" id ="searchsubmit" name="searchsubmit" value="Search">
</form>
就像我说的,我对表单验证和函数的使用非常陌生
这是问题的一部分。当你点击fiddle中的submit时,它会提示“hello”,然后它会进行验证。如何阻止这种情况发生。i、 e首先验证,然后运行函数?您的整个问题在于您的
单击处理程序。该插件已经内置了回调函数,可以捕获submit按钮的单击事件。使用submitHandler
在表单有效时启动函数。使用invalidHandler
在表单无效时触发函数
您的JSFIDLE中已经有了submitHandler
回调,因此我对您的JSFIDLE代码进行了如下重构:
$(document).on('pageinit', function(){
$('#myform').validate({ // initialize the plugin
rules: {
field1: {
required: true
},
field2: {
required: true
}
},
submitHandler: function (form) {
alert("hello"); // stuff to do when form is valid
alert('valid form submitted'); // for demo
return false;
},
invalidHandler: function () {
// stuff to do when form is invalid
alert("invalid form"); // for demo
}
});
// remove click handler
// use the plugin's built-in callback functions instead
//$("#test").click(function(){alert("hello")});
});
演示:
编辑:
好的参考资料:你说的“不工作”是什么意思?有JS错误吗?当我点击表单上的搜索按钮时,它会运行$(“#searchsubmit”)。点击();函数而不是验证表单使用表单的id
,并将其分配给。validate()
非常感谢您的回复!!
$(document).on('pageinit', function(){
$('#myform').validate({ // initialize the plugin
rules: {
field1: {
required: true
},
field2: {
required: true
}
},
submitHandler: function (form) {
alert("hello"); // stuff to do when form is valid
alert('valid form submitted'); // for demo
return false;
},
invalidHandler: function () {
// stuff to do when form is invalid
alert("invalid form"); // for demo
}
});
// remove click handler
// use the plugin's built-in callback functions instead
//$("#test").click(function(){alert("hello")});
});