[英]Prevent form submission if there is errors
基本上我有一个代码,如果他写的ID已经存在或太短,会向用户显示错误,但是问题是我无法弄清楚如何防止表单提交时出现错误。
需要弹出警报窗口的代码:
jQuery("#submit").click(function(e){
if(error === '1')
{
alert("There are some errors in the form.");
e.preventDefault();
}
});
然后我得到使用AJAX的答案并显示错误:
if(msg == 'OK')
{
var error = '0';
}
else
{
var error = '1';
jQuery("#idCheck_msg").slideDown("fast");
jQuery("#idCheck_text").text(msg).slideDown("fast");
}});
}
我试图用var error
做某事,但是Firebug说没有定义错误,即使有错误也要提交表单get。
有什么帮助吗? ;)
将error
定义为全局变量。 那就是在使用变量之前删除var
:
var error;
if(msg == 'OK')
{
error = '0';
}
else
{
error = '1';
...
似乎您在提交表单之后设置了error
的值,但是在提交表单之前检查了它的值。
给定帖子中的代码,尝试检查其值时error
将是不确定的。 另外,提交表单后, error
仍然是不确定的,因为您是使用var
关键字在AJAX响应处理程序的范围内声明的。
如果在设置error
的值时从AJAX处理程序中删除var
关键字,则提交逻辑将第二次工作。
底线:提交表单之前需要设置error
的值,而不是在AJAX响应处理程序中。
什么时候拨打AJAX? 在收到AJAX调用的成功响应之前,您将无法检查“错误”。 另外,您需要删除“ var”,使其在全局范围内。
如果在提交表单时也进行了AJAX调用,则需要将错误检查移至处理AJAX响应的代码内。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.