2014-09-26 62 views
-1

我有这段代码来验证我的联系表单,问题是我想要的是当电子邮件有内容时它会发送,没有电话和手机,或电话有内容,电子邮件和手机是空的它仍然会发送我的代码如下:表单验证不发送

if (document.forms[0].telephone.value == "" 
    || document.forms[0].email.value == "" 
    || document.forms[0].mobile.value == "") 
{ 
    alert("Please provide an email address or phone no. to contact you."); 
    selStep(1); 
    return; 
}    

但还是要求手机或电话,有进入它应该发送。

+2

粘贴到您的html代码 – Maigret 2014-09-26 04:45:23

+0

贴在下面,请检查 – user3927226 2014-09-26 04:48:43

+0

为什么粘贴完整的代码时,他给了正是一个很好的开发人员需要进行故障排除。 – SZenC 2014-09-26 04:49:06

回答

1

问题出在if语句的结构中。在声明中你基本上说if(telephone is empty or email is empty or mobile is empty)。你需要的是这个

if(!(document.forms[0].telephone.value!==""|| 
    document.forms[0].email.value!==""|| 
    document.forms[0].mobile.value!=="")){ 
    alert("Please provide an email address or phone no. to contact you."); 
    selStep(1); 
    return; 
} 

这将检查是否任何字段中有数据,并且如果不是这种情况,它会继续与if语句。

+0

非常感谢你,这就像一个魅力,fantastico,欢呼,非常感谢,这只是语法,非常感谢你的最好 – user3927226 2014-09-26 05:00:42

+0

我只注意到我犯了一个小错误,它应该可以在所有主要的浏览器中工作,但这不是应该如此。将在一秒钟内更新它。 – SZenC 2014-09-26 07:04:43

0
function IsValidContact() 
{ 
    if(document.forms[0].telephone.value == "") 
    { 
    return false; 
    } 
    if(document.forms[0].email.value == "") 
    { 
    return false; 
    } 
    if(document.forms[0].mobile.value == "") 
    { 
    return false; 
    } 

    return true; 

} 
+0

在提出代码/解决方案时,至少应包含关于解决方案的简要说明。 – 2014-09-26 05:42:53