在開發系統時,往往都有某些表單數據為必填項,若用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>
