我有一个带有 JavaScript 验证的表单。如果出现错误,提交按钮应该“变灰”并且不应提交表单。然而,最后几个函数似乎提交了表单,即使它们弹出了警告框。为什么?
按钮代码:
<input type="submit" name="button" id="button"
onclick='return formvalidation();' value="Next" />
非工作函数示例:
function BlankSite() {
var SiteNum= document.getElementsByName("sitesinput")[0].value;
if ((SiteNum == "") || (SiteNum == 0))
{
alert("You have not selected an amount of sites.")
document.forms[0].button.disabled = true;
return false;
}
}
函数发起者:
function formvalidation()
{
ZeroPhones();
BlankPC();
BlankSite();
BlankSeats();
phone_change();
} // End of formvalidation
这很奇怪,我尝试了各种解决方法都无济于事!
最佳答案
您需要在 onclick
调用的函数中有 return false;
,在本例中为 formvalidation
。
让“root”函数调用的某些函数返回 false 没有任何效果。返回值丢失。
关于JavaScript 代码返回 false,但表单仍然被提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6412913/