为什么在使值有效后,验证事件失败?

时间:2013-11-24 17:19:33

标签: jquery

我点击提交按钮运行此代码:

if ($("#zipcode").val().length < 5) {
    $("#users_search").submit(function (e) {
        e.preventDefault();
        $("#please-zipcode").modal();
    });
}

预期的结果是,只有当字段邮政编码少于5个字符时才应打开模态。

当前行为:当提交具有空zipcode字段的表单时,它会打开模式(按预期方式)。然后,在关闭模态之后,无论我在zipcode字段中输入什么值(有效与否),它都会打开模态(如果值大于五个字符,则不会发生这种情况)。我哪里错了?请帮忙。

1 个答案:

答案 0 :(得分:1)

您不希望在另一个事件中绑定提交处理程序。从绑定到按钮的任何事件中删除它并尝试:

$("#users_search").submit(function (e) {
   if ($("#zipcode").val().length < 5) {
        e.preventDefault();
         $("#please-zipcode").modal();
   }else{
      /* unless using ajax form would submit using browser default*/
      /* if want ajax submit, do it here and move  e.preventDefault(); out of "if"*/
   }
});