gpt4 book ai didi

javascript - 表单提交阻塞问题

转载 作者:行者123 更新时间:2023-12-03 06:53:34 25 4
gpt4 key购买 nike

就提问而言,我是新来的,但我已经阅读了很多文章/问题/答案很长一段时间了。我的问题是关于让我陷入困境一段时间的部分代码。

因此,在我的项目中,我有一个注册表单,其中包含 JS 验证和服务器端验证。现在我想做的是在 JS 验证正常之前禁用表单提交,并且我已经设置了一些条件来实现这样的效果。现在,当满足这些条件时,问题就出现了。我用这一行来阻止表单提交:

$('.memberReg').on('submit',function(){return false;});

例如在这样的情况下:

if(response.okText == 'SUCCESS' && response.warning == null ) 
{

$('label[for="email"]').addClass("success");
$('label[for="email"]').append("<span> is not yet registered!</span>");
console.log(result);
}else
{

$('label[for="email"]').addClass("error");
$('label[for="email"]').append("<span> is already taken!</span>");
$('.memberReg').on('submit',function(){return false;});

}

这里发生的情况是,我确实阻止了表单的提交,但它被完全阻止,即使满足其他条件也是如此。在此示例中,即使使用正确的电子邮件,您也无法再提交。

我尝试使用带有 true-false 语句的变量来使 validForm() 函数提交表单,但该函数开始循环并且仍然无法启用表单。

我还尝试在有效电子邮件部分中使用 return true 来提交表单,效果仍然相同。

有人知道如何仅在特定条件下阻止它而不完全阻止它,以便用户如果想要发送就必须刷新吗?

最佳答案

我相信我已经弄清楚了,经过几次测试运行后,它运行顺利,所以我会将其发布,以防其他人可能遇到同样的问题。

所以一开始我使用:

$('.memberReg').on('submit',function(){return false;});

正如一位好人在他的一个答案中告诉我的那样,这覆盖了提交处理程序。所以我尝试改变我的方法来实现它并使用:

$( ".memeberReg" ).submit(function( event ) {
if ( condition ) {
//successfulValidationCode
return;
}
//errorCode
event.preventDefault();
})

在某些情况下,我会检查在字段验证中设置的变量,如果输入错误,我会使用 event.preventDefault(); 再次阻止表单。

关于javascript - 表单提交阻塞问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37389901/

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