2013-01-03 38 views
0

我正在嘗試執行代碼,如果表單包含「VP-」,表單中的錯誤將生效。表單驗證:如果表單中的數據包含「VP-」,則出錯

我的代碼是:

// quick order form validation 
function validateQuickOrder(form) {   
    if ((form.ProductNumber.value == "")|| (form.ProductNumber.value == "VP")){ 
     alert("Please enter an item number."); 
     form.ProductNumber.focus(); 
     return false; 
} 
     return true; 
} 
+1

什麼不工作?什麼期望和你有什麼? – techfoobar

+0

如果是或包含?因爲你只是在檢查它是否字面上是「VP」。 – Aidanc

+0

期望收到警報,但沒有收到任何東西;表單仍然使用上面的代碼提交沒有問題。我希望它遇到問題,並顯示警報,如果我輸入的產品編號包含「VP」 –

回答

1

==做一個完整的字符串比較。你要使用indexOf檢查它是否包含該字符串:

if (~form.ProductNumber.value.indexOf('VP')) { 
    // ProductNumber.value has "VP" somewhere in the string 
} 

代字號a neat trick,但如果你願意,你可以更詳細:

if (form.ProductNumber.value.indexOf('VP') != -1) { 
    // ProductNumber.value has "VP" somewhere in the string 
} 
+0

史詩!這很有效,約瑟夫。 :) 謝謝。 –

0

只是爲了提供替代另一個答案,正則表達式也可以使用:

if (/VP/.test(form.ProductNumber.value)) { 
    // value contains "VP" 
} 
+0

偉大的選擇 - 謝謝。 –