gpt4 book ai didi

Javascript 表单阻止在调用第二个函数时不起作用

转载 作者:行者123 更新时间:2023-11-28 19:04:07 26 4
gpt4 key购买 nike

已经为此苦苦挣扎了一个多小时,现在看不到树林了..

我有一个带有 onSubmit 的表单,它调用验证函数,但表单始终在提交并且页面刷新。

如果验证函数的结尾看起来像这样,那么工作正常

function verifycheck(){
.... checking scripts that work ....
if (!pass){
alert("Un ou plus des l'elements requis ne sont pas remplier. SVP remplier, puis envoyer encore!")
return false
}else{
return false
}
}

表单从未像我期望的那样提交......

但是,如果我随后尝试将成功的验证推送到另一个函数..

function verifycheck(){
.... checking scripts that work ....
if (!pass){
alert("Un ou plus des l'elements requis ne sont pas remplier. SVP remplier, puis envoyer encore!")
return false
}else{
sendformdata(form);
}
}

function sendformdata(form){
return false
}

表单将提交并刷新页面。

为什么将返回移动到第二个函数会导致表单提交?

HTML 看起来像

<form id="signupform" action="" method="post" onSubmit="return verifycheck(this);">

最佳答案

为什么将返回移动到第二个函数会导致表单提交?

这是因为 verifyCheck 函数现在不再返回任何内容。返回值不会自动“冒泡”。要阻止提交,您必须通过传递 sendformdata 的返回值来从 verifyCheck 返回 false。为此,请将调用该函数的行更改为:

return sendformdata(form);

因此总代码变为:

function verifycheck() {  
.... checking scripts that work ....
if (!pass) {
alert("Un ou plus des l'elements requis ne sont pas remplier. SVP remplier, puis envoyer encore!")
return false;
} else {
return sendformdata(form); // Change in this line.
}
}

function sendformdata(form) {
return false;
}

关于Javascript 表单阻止在调用第二个函数时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32019331/

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