如果有错误,防止表单提交



基本上我有一个代码,显示用户一个错误,如果他写的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的提交,即使有一个错误。

帮忙吗?div;)

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响应的代码中。

最新更新