Javascript jQuery/PHP表单提交非预期行为

Javascript jQuery/PHP表单提交非预期行为,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我正在尝试创建一个表单,在成功提交之前,必须填写所有字段 例如,我有一些逻辑,其中,如果发生错误,错误计数器递增,如果计数器不等于0,则表单不提交,并显示一个警报框,告诉用户有一些空字段需要填充这是预期的行为。然而,当我再次尝试提交它时,它成功地提交了,即使有错误 如果这样做更简单,下面是相关网页的临时URL: 这是我的密码: jQuery(有问题的代码) HTML CECC |添加季节 卡德莫尔端板球俱乐部 菜单 添加玩家 您可以在此网页上添加新的板球赛季

我正在尝试创建一个表单,在成功提交之前,必须填写所有字段

例如,我有一些逻辑,其中,如果发生错误,错误计数器递增,如果计数器不等于0,则表单不提交,并显示一个警报框,告诉用户有一些空字段需要填充这是预期的行为。然而,当我再次尝试提交它时,它成功地提交了,即使有错误

如果这样做更简单,下面是相关网页的临时URL:

这是我的密码:

jQuery(有问题的代码)

HTML


CECC |添加季节
卡德莫尔端板球俱乐部
菜单
添加玩家

您可以在此网页上添加新的板球赛季。若要在本季中添加更多固定装置,请单击下面的按钮,将出现一个新的固定装置表单

时令 固定装置#1 日期和时间
只有当错误框不可见时,才有无错误增量。我认为这就是为什么您第二次提交时没有增加无错误的原因,也是为什么表单被提交的原因。

只有当错误框不可见时,您才有无错误的增加。我认为这就是为什么您第二次提交时没有增加无错误的原因,也是为什么表单被提交的原因。

问题是由以下情况引起的:

$(this).val() == "" && !($(this).siblings(".error-box").is(":visible"))
第一次单击提交时,如果值为空且
错误框
隐藏,则显示错误并递增
无错误
。但是,下一步单击提交
。错误框
已显示,因此即使该值为空,也不会满足上述条件:

$(this).val() == "" //true
!($(this).siblings(".error-box").is(":visible")) //false
true && false === false
我建议将
show/hide
逻辑与
empty/filled
逻辑分开:

if($(this).val() === "") {
   //Slide/show .error-box and increment errors
} else {
  //Hide  .error-box
}

问题是由以下情况引起的:

$(this).val() == "" && !($(this).siblings(".error-box").is(":visible"))
第一次单击提交时,如果值为空且
错误框
隐藏,则显示错误并递增
无错误
。但是,下一步单击提交
。错误框
已显示,因此即使该值为空,也不会满足上述条件:

$(this).val() == "" //true
!($(this).siblings(".error-box").is(":visible")) //false
true && false === false
我建议将
show/hide
逻辑与
empty/filled
逻辑分开:

if($(this).val() === "") {
   //Slide/show .error-box and increment errors
} else {
  //Hide  .error-box
}