jquery經過class驗證表單不能爲空

在開發系統時,每每都有某些表單數據爲必填項,若用jQuery經過ID去驗證,不只會影響效率,還會有所遺漏,不易於後期維護。javascript

本章將介紹如何利用jQuery,經過爲表單配置class進行統一驗證。(ID一個頁面只能夠使用一次;class能夠屢次引用)html

1:爲input添加class,名字能夠隨意設置,但每一個input須要保持一致,本章案例calss設置爲noNull。(若input已有class屬性,可直接加到其後)java

2:爲input添加一個屬性,用來後期經過jquery獲取該字段,用做提示語。本章案例提示屬性爲notNull。jquery

3:經過jQuery遍歷頁面中全部calss爲noNull的表單,驗證其是否爲空,若爲空,經過獲取notNull的字段,進行爲空提示。this

具體如何設置,請參照下面的案例。本章針對input,radio,select,checkbox等類型都進行了闡述。spa

 

<!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>
相關文章
相關標籤/搜索