你的位置:首页 > Java教程

[Java教程]jquery通过class验证表单不能为空


在开发系统时,往往都有某些表单数据为必填项,若用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>