jQuery远程验证强制双击以提交表单
我正在尝试远程验证表单字段。当我在页面上时,如果字段获得焦点,那么一切都会很好。但是,如果该字段从未收到焦点,则表单要求我单击“提交”按钮两次才能成功提交 我希望它要么只验证字段是否接收到焦点,要么以某种方式停止表单需要两次单击才能提交。有人有什么想法吗jQuery远程验证强制双击以提交表单,jquery,forms,validation,Jquery,Forms,Validation,我正在尝试远程验证表单字段。当我在页面上时,如果字段获得焦点,那么一切都会很好。但是,如果该字段从未收到焦点,则表单要求我单击“提交”按钮两次才能成功提交 我希望它要么只验证字段是否接收到焦点,要么以某种方式停止表单需要两次单击才能提交。有人有什么想法吗 $("#form1").validate({ rules: { project: { required: true, remote: "check.php"
$("#form1").validate({
rules: {
project: {
required: true,
remote: "check.php"
}
},
messages: {
project: {
required: "Required.",
remote: "Check Failed."
}
},
});
<input type="text" name="project" id="project" value="X"/>
$(“#form1”)。验证({
规则:{
项目:{
要求:正确,
远程:“check.php”
}
},
信息:{
项目:{
必选:“必选。”,
远程:“检查失败。”
}
},
});
您可以通过添加以下内容来解决此问题:
$.ajaxSetup({
async: false
});
在调用验证插件之前。提交按钮的名称是什么?jqueryvalidate不喜欢“submit”这个名称。我将提交按钮的名称改为“submitter”,问题就消失了。查看此链接:我遇到了相同的问题,并且
Instead of making ajax setup to false you can just set "project" "remote" async to false like this
$("#form1").validate({
rules: {
project: {
required: true,
remote: {url:"check.php", async:false}
}
},
messages: {
project: {
required: "Required.",
remote: "Check Failed."
}
},
});
远程:{url:“check.php”,异步:false}
为我工作。你有没有弄清楚这件事的真相?它应该有用的。您是否尝试过像示例中那样只使用一个输入字段?我也遇到过同样的问题,单击1可对字段进行远程验证。单击2提交表单。为了解决这个问题,我把提交从一个标签改成了一个标签。现在单击它进行远程验证,成功后发布表单。使请求不异步可能会冻结整个UI。小心。当然,@Péde Leão的答案是更好的,我确认这是有效的。其他解决方案(建议添加“async:false”)实际上会在表单包含其他必填(必需)字段时导致问题。当“async:false”时,“required”字段将被忽略,用户可以绕过它并将字段留空。将submit按钮名称替换为“submitter”可修复此问题。