gpt4 book ai didi

javascript - 在函数返回 true 之前不要提交表单

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

我有这段 JavaScript 代码,其中有一个调用其他函数的函数。问题是即使字段为空,input.html 表单也会被提交。如果我不在字段中提供任何输入,则会显示错误消息,但同时会提交表单。有很多类似的问题,但没有一个有帮助,因为它们没有在函数内调用函数..对此可能的解决方案是什么?

function blankos() {
var p = document.getElementById("windows");
var q = document.getElementById("linux");

if ((p.checked == false) && (q.checked == false)) {
document.getElementById("enteros").innerHTML = "Select an option";
return false;
} else if ((p.checked == true) || (q.checked == true)) {
document.getElementById("enteros").innerHTML = "";
return true;
}

}

function blankfreq() {
var r = document.getElementById("biannual");
var s = document.getElementById("monthly");

if ((r.checked == false) && (s.checked == false)) {
document.getElementById("enterfreq").innerHTML = "Select an option";
return false;
} else if ((r.checked == true) || (s.checked == true)) {
document.getElementById("enterfreq").innerHTML = "";
return true;
}
}

function blankhour() {
var i = document.getElementById("one");
var ii = document.getElementById("two");
var iii = document.getElementById("four");

if ((i.checked == true) || (ii.checked == true) || (iii.checked == true)) {
document.getElementById("enterhour").innerHTML = "";
return true;
}
return false;

}


function blank() {
blankos();
blankfreq();
blankhour();
checkselect();

}
<form onSubmit="return blank()" name="input" id="input" method="post" action="cgi-bin/review.cgi" >

最佳答案

blank() 不返回任何内容。尝试:

function blank() {
return blankos() && blankfreq() && blankhour() && checkselect();
}

这只会报告检测到的第一个错误。如果您希望报告所有这些,请先将它们分配给变量。

function blank() {
var ok1 = blankos();
var ok2 = blankfreq();
var ok3 = blankhour();
var ok4 = checkselect();
return ok1 && ok2 && ok3 && ok4;
}

不过,我还没有查看所有单独的验证函数。您可能也有需要修复的错误。

关于javascript - 在函数返回 true 之前不要提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48596847/

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