gpt4 book ai didi

javascript - jQuery 表单验证 - 在 PreventDefault 后无法提交

转载 作者:行者123 更新时间:2023-11-28 19:30:37 25 4
gpt4 key购买 nike

我刚刚开始学习 jQuery,并尝试创建自己的表单验证作为学习方法。

我想要实现的是,当提交表单时,它将检查 .required 类的任何字段是否为空,如果是,则突出显示该字段。这工作正常,但是当表单正确填写后,它不会提交。

我真的不知道我哪里错了。如果有人可以提供帮助,我们将不胜感激。

$('#contact').submit(function(event) { 

event.preventDefault();
var isFormValid = true;

$('.required').each(function() {

if ($(this).val() == '') {

$(this).removeClass("valid").addClass('invalid');
isFormValid = false;
}

});

if(isFormValid = true) {
$('#contact').submit();
}


});

最佳答案

您正在尝试递归提交表单。当您调用 .submit() 时,相同的处理程序会再次被命中(这会阻止实际的提交)。

您还在 if 中分配了标志。 if(isFormValid = true) 应该使用 ==,但无论如何都不需要该代码。

仅将 preventDefault 移至实际失败的位置,并且不要尝试重新提交。就让它过去吧。

$('#contact').submit(function(event) { 
$('.required').each(function() {
if ($(this).val() == '') {
$(this).removeClass("valid").addClass('invalid');

// only prevent submit if there is a problem
event.preventDefault();
}
});
});

关于javascript - jQuery 表单验证 - 在 PreventDefault 后无法提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26885681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com