2014-09-26 61 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