繁体   English   中英

出现错误时阻止表单提交

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM