我有一个带有JS验证的表单,如果出现错误,提交按钮应该"灰显"并且表单不应该提交,但是最后几个函数似乎提交表单,即使它们弹出警告框! ?!?!
按钮代码:
<input type="submit" name="button" id="button"
onclick='return formvalidation();' value="Next" />
Run Code Online (Sandbox Code Playgroud)
非工作功能示例:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
功能发起人:
function formvalidation()
{
ZeroPhones();
BlankPC();
BlankSite();
BlankSeats();
phone_change();
}// End of formvalidation
Run Code Online (Sandbox Code Playgroud)
这很奇怪,我尝试了各种各样的工作都无济于事!
谢谢,B.
在这种情况下,您需要具有return false;
调用的函数.onclick
formvalidation
使用"root"函数调用的某些函数返回false没有任何影响,返回值将丢失.
它们返回false(并且是break,这实际上是无法访问的代码),但结果永远不会返回到父验证函数.您的验证器(假设它与表单操作绑定)应如下所示:
function formvalidation(){
{
if (!ZeroPhones())
return false;
if (!BlankPC())
return false;
//
// keep checking for false and return false.
//
// default to return true
return true;
}
Run Code Online (Sandbox Code Playgroud)
因此,当函数实际上返回false时,错误的返回被返回到绑定函数.
归档时间: |
|
查看次数: |
26178 次 |
最近记录: |