我试图阻止表单提交时没有填写“名称”字段,但它会继续提交,即使submitForm函数返回false。 submitForm函数在用户输入名称失败时(我可以看到当我按下浏览器时看到)名称字段变为黄色,但是警报从不出现,并且表单仍然提交。有任何想法吗?如何在输入无效时不提交表单。
function submitForm() {
var valid = true;
var rform = document.forms[0];
if (testLength(rform.name)==false) valid=false;
if ((rform.member[0].checked || rform.member[1].checked)== false) {
rform.member[0].style.backgroundColor="yellow";
rform.member[1].style.backgroundColor="yellow";
valid=false;
}
if (valid == false) alert("Enter all required information in the appropriate format");
return valid;
}
而形式。
<form id="reg" method="GET" action="processorder.php">
<input id="btnSubmit" type="submit" value="Submit Form" onclick="return submitForm();"/></p>
你得到任何错误控制台? – Zeta
您是否尝试将验证放在窗体onsubmit事件而不是提交按钮上? – Offbeatmammal
正确做'onsubmit'属性。此外,通常将错误的有效性默认为“false”,并且只有在达到某个特定点时才会成立。 – vol7ron