2012-09-03 64 views
1

我是javascript的新手。我需要認真的幫助,使用javascript進行表單驗證。這是我需要腳本執行的內容。使用javascript在輸入字段上只接受20的倍數(例如40,60,80)?

當用戶填寫表格時,他輸入的數字不是20的倍數(如40,60,80,100),他應該會收到警報。

示例:如果我在輸入字段中輸入45,我應該得到一個錯誤,如「您輸入了無效的金額」。

{else}

Post form。

+1

你有正試圖做到這一點,但沒有一個示例代碼? – Vikdor

+0

你應該告訴我們你試過的東西,並告訴我們爲什麼它不夠用。 – walrii

回答

2

嘗試使用%(模數)運算符

if ((+([value of inputfield])||1)%20 === 0) { /* is multiple of 20 */ } 
// ^convert to Number ^
//       ^if conversion fails, use 1 for value 
//       (so %-operation will not fail) 

this jsfiddle爲一個簡單的例子

+0

你能幫我一個示例代碼。這將是美好的。我對此回覆非常抱歉。 –

+0

嗨@Shaikat,我已經鏈接了jsfiddle和一些示例代碼。見編輯的答案。 – KooiInc

+0

看看示例代碼的答案中的鏈接:http://jsfiddle.net/j4Crz/8/ –

0

@Kooilnc是正確的,但這裏有一個更完整的解決方案:http://jsfiddle.net/nottrobin/vN3xK/

<form name="numberForm"> 
    <input type="number" name="number" /> 
    <button type="submit">submit</button> 
</form> 
<script> 
    // NB: jQuery is required 
    jQuery('[name="numberForm"]').bind(
     'submit', 
     function(evt) { 
      if(jQuery('[name="number"]').val() % 20 != 0) { 
       alert('Your number is wrong'); 
       evt.preventDefault(); 
      } 
     } 
    ); 
</script> 

燦我建議你使用%而不是正則表達式,'因爲它更方便。

+1

請在您的答案中包含代碼。如果鏈接不可用,您的答案是無用的。 –

+0

好點。我將來會這樣做。提供兩者都沒有壞處。 –

0

在jQuery中

if($('#input_id').val() % 20 != 0) 
{ 
    $('#input_id').val(''); 
    alert('You have entered an invalid amount.'); 
} 
else 
{ 
    //success 
} 
相關問題