2013-04-24 81 views
1

我爲2個輸入做了我自己的表單驗證,一個用於電話號碼,另一個用於電子郵件地址。並且我在1頁有2個表單。jQuery條件通過

我的代碼是

var email, phone; 

if (email address validation passed) { 
    email = true; 
} else { 
    email = false; 
} 

if (phone number validation passed) { 
    phone = true; 
} else { 
    phone = false; 
} 

if (!(phone && email)) { 
    return false 
} else { 
    return true 
} 

,因爲我有在同一頁上有兩種形式,我想有另一片段的第二形式一樣,

var email2, phone2; 

if (email address validation passed) { 
    email2 = true; 
} else { 
    email2 = false; 
} 

if (phone number validation passed) { 
    phone2 = true; 
} else { 
    phone2 = false; 
} 

if (!(phone2 && email2)) { 
    return false 
} else { 
    return true 
} 

我發現這個問題是爲了得到提交的表格,我需要email, phone, email2, phone2;都等於true。然而,我需要提交條件如果email, phone are truephone2, email2 are true 只需要有人來檢查這是否是一個正確的邏輯方法來解決我的問題?

if (!(phone2 && email2)) { 
    return false 
} else if(!(phone && email)) { 
    return false 
} else return true; 
+2

'回報((電子郵件&&電話)|| (email2 && phone2));' – billyonecan 2013-04-24 09:14:37

+1

爲什麼不顯示錶單 - 也許我們可以只有一個驗證 – mplungjan 2013-04-24 09:15:01

+0

會不會有'email3'和'phone3'? :) – 2013-04-24 09:16:12

回答

2

不過,我需要在條件提交如果電子郵件,電話是真的還是PHONE2,EMAIL2是真正的

你說有編寫它的最簡單的方法方式:

if ((email && phone) || (email2 && phone2)) { 
    return true; 
} else { 
    return false; 
} 

如果你只是要返回true或根據條件是真還是假的,你可以在這樣一條線做虛假:

return (email && phone) || (email2 && phone2); 
+0

是的,忘記了'||'非常感謝 – olo 2013-04-24 09:34:45

1

你可以檢查它像

if((phone2 && email2) || (phone && email)) 
    return true; 
else 
    return false;