2009-10-26 88 views
2

我有一個表格,有大約10文本項(用戶,地址,電子郵件等)領域的X個 和大約50 +條目是數量的條目(用戶選擇該項目的2倍,這個項目的5倍)。的Javascript驗證HTML表單

現在我從別人那裏繼承了這個表格(現在我的責任是保持它最新,當客戶要求時)。

我不想重新編寫所有內容,但我想爲數量字段添加驗證。

現在數量欄都被命名爲不同的東西(B1,C55,d,12)

基本上我想編寫一個腳本(但不知道如何尋找這一點,或者做到這一點) JS方面,這將忽略我知道的標籤(用戶,地址,電子郵件等),但檢查其他人是否是數字(空 - 不選,或1-99)

+0

你可以添加腳本引用到那裏的任何JavaScript庫嗎?例如jQuery? – 2009-10-26 19:23:37

+0

引用js庫會有什麼意義?我不使用這個表單。但如果有人想在他們的建議中使用一個,我會歡迎它。但是我不明白它將如何澄清我的問題。 – Jakub 2009-10-26 19:24:53

+0

@Jakub:我沒有要求你澄清任何事情,只是要求那些可能使用特定庫的解決方案。 – 2009-10-26 19:30:49

回答

2

class應用到元素代碼使用類check)像這樣:

<input type="text" name="b1" class="check" />

和以下jQuery代碼,它們只會用check類檢查那些元素。

$('#myformid').submit(function(){ 
    $(':input.check').each(function(){ 
     field = $(this); 
     valInt = parseInt(field.val()); // value as an integer 

     if (isNaN(valInt) || (valInt < 1 || valInt > 99)) // displays an error if the val is < 1 or > 99 
      alert('Error in the field ' + field.attr('name') + ': must be number from 1-99'); // change this to whatever you want the form to do if there's an error 
    }); 
}); 

基本上這是什麼做的是以下幾點:表單提交時,它會通過每個字段,你想它想(表示:input.class趕上與正確類的每個字段),並檢查它是否(一)一個數字,以及(b)小於1或大於99.如果它是一個數字並且超出範圍,它會向用戶發出錯誤提示。您可以將alert()通知更改爲您希望表單擁有的任何錯誤管理。

+0

@Josh Leitzel:但是,如果我不想定義每個名字?我有50多個參賽作品,我不在乎他們的名字,我只是想確保他們是1-99,或者是空的。由於這些值每週都在變化,我不想繼續更新這個腳本。所以我需要jQuery來瀏覽所有的表單元素?我將如何實現這一目標?我的照片是像數組一樣循環播放的,忽略「已知」(電子郵件,第一個,最後一個等)。如果我不太清楚,請注意一下。 – Jakub 2009-10-26 19:45:30

+0

對不起。您可以使用CSS類輕鬆完成您想要做的事情。我相應地編輯了我的答案。 – 2009-10-26 19:55:26

+0

啊,聰明。我甚至沒有想過要按班上課。非常感謝你! – Jakub 2009-10-26 19:59:21