在開發系統時,往往都有某些表單數據為必填項,若用jQuery通過ID去驗證,不僅會影響效率,還會有所遺漏,不易於后期維護。
本章將介紹如何利用jQuery,通過為表單配置class進行統一驗證。(ID一個頁面只可以使用一次;class可以多次引用)
1:為input添加class,名字可以隨意設置,但每個input需要保持一致,本章案例calss設置為noNull。(若input已有class屬性,可直接加到其后)
2:為input添加一個屬性,用來后期通過jquery獲取該字段,用作提示語。本章案例提示屬性為notNull。
3:通過jQuery遍歷頁面中所有calss為noNull的表單,驗證其是否為空,若為空,通過獲取notNull的字段,進行為空提示。
具體如何設置,請參照下面的案例。本章針對input,radio,select,checkbox等類型都進行了闡述。
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> </head> <body> <form> <!-- input --> <div> 姓名: <input type="text" name="name" notNull="姓名" class="form-control noNull"> </div> <br> <!-- radio --> <div> 性別: 男<input type="radio" name="sex" value="0" class="noNull" notNull="性別"> 女<input type="radio" name="sex" value="1" > </div> <br> <!-- select --> <div> 年齡: <select name="age" class="noNull" notNull="年齡"> <option value ="">請選擇</option> <option value ="1">1</option> <option value ="2">2</option> </select> </div> <br> <!-- checkbox --> <div> 興趣: 打球<input type="checkbox" name="hobby" value="1" class="noNull" notNull="興趣"> 唱歌<input type="checkbox" name="hobby" value="2"> 跳舞<input type="checkbox" name="hobby" value="3"> </div> <br> <button type="button" class="btn-c" onclick="bubmi()">保存</button> </form> <script src="jquery-1.9.1.min.js"></script> <script type="text/javascript"> function bubmi(){ $(".noNull").each(function(){ var name = $(this).attr("name"); if($(this).val()==""){ alert($(this).attr('notNull')+"不能為空");return false; } if($(this).attr("type")=="radio"){ if ($("input[name='"+name+"']:checked").size() < 1){ alert($(this).attr('notNull')+"不能為空!"); return false; } } if($(this).attr("type")=="checkbox"){ if ($('input[name="'+name+'"]:checked').size() < 1){ alert($(this).attr('notNull')+"不能為空!"); return false; } } }) } </script> </body> </html>