1. 程式人生 > >js表單序列化判斷空值

js表單序列化判斷空值

++ 狀態 開始 提交 count 員工 type 不能 數組

學習javaweb的時候,做了將頁面上的的表單信息添加到數據庫中的練習。提交表單的時候,需要保證每個輸入框、單選按鈕、復選框等都不為空,剛開始的時候挨個獲取控件的值進行判斷是否為空,後來認識了表單序列化這麽一個方法,就是了下用序列化來判斷空值

//form表單頁面

<form id="basicInfo" action="EmployeeServlet?flag=addEmployeeInfo" method="post">
    <div class="formbody">
        <div class="formtitle"><span>
基本信息</span></div> <ul class="forminfo"> <li> <label>員工賬號</label> <input id="account" name="account" type="text" class="dfinput" readOnly="true" /> <i>設置員工姓名和入職時間後,系統自動生成,無法更改</i> </
li> <li> <label>員工姓名</label> <input name="name" type="text" class="dfinput" id="name" /> <i>姓名不能為數字</i> </li> <li> <label>密碼</label> <
input name="password" type="password" class="dfinput" id="pwd" placeholder="空值或空白則默認密碼為123456" /> <i></i> </li> <li> <label>性別</label> <cite> <input name="gender" type="radio" value="男" checked="checked" />&nbsp;&nbsp;&nbsp;&nbsp; <input name="gender" type="radio" value="女" /></cite> </li> <li> <label>生日</label> <input id="birth" name="birthday" type="text" class="dfinput" placeholder="格式:yyyy-mm-dd"/> <i id = "birthTip"></i> </li> <li> <label>手機號碼</label> <input id="phone" name="telephone" type="text" class="dfinput" /> <i id = "phoneTip"></i> </li> <li> <label>郵箱</label> <input id="email" name="email" type="text" class="dfinput" /> <i id = "emailTip"></i> </li> <li> <label>地址</label> <input name="address" type="text" class="dfinput" /> <i id = "addressTip"></i> </li> <li> <label>所屬部門</label> <select id="dept" class="dfinput" name="dept"> </select> </li> <li> <label>入職時間</label> <input id="entrytime" name="entrytime" type="text" class="dfinput" placeholder="格式:yyyy-mm-dd" /> <i id = "timeTip"></i> </li> <li> <label>員工狀態</label> <select id="empstate" class="dfinput" name="empstate"> </select> </li> <li> <label>直屬上級</label> <input id="superior" name="superior" type="text" class="dfinput" placeholder="直屬上級員工id" /> <i id = "superTip"></i> </li> <li> <label>職務</label> <select id="dutyid" class="dfinput" name="dutyid"> </select> </li> <li> <label>角色權限</label> <select id="authority" class="dfinput" name="authority"> </select> </li> <li> <label>&nbsp;</label> <input id="savebtn" type="submit" class="btn" value="確認保存"/> </li> </ul> </div> </form>

在外鏈js文件中寫了個提交時觸發的事件

$(‘form‘).submit(function(){
//當密碼為空的時候自動賦值
var pwd = $(‘#pwd‘).val(); if(pwd==null || pwd == ‘‘){ $(‘#pwd‘).val(‘123456‘); } var data = $(‘form‘).serialize();
//表單序列化後返回一個字符串 如:account=123&password=1234&sex=&dept=2
var array = data.split(‘&‘);
//把字符串按&號分隔成數組 得到 {account=123,password=1234,sex=,dept=2} 字符串數組
for(var i = 0;i < array.length; i++){ var kwarr = array[i].split(‘=‘);
//循環將數組中的每個子元素字符串用=號分隔成數組 {account,123} {sex,} 然後判斷索引為1的子元素是否存在或為‘’ 從而達到了表單判空的目的
if(kwarr[1]===null || kwarr[1] ===‘‘){ alert(‘除密碼外不能存在空值‘); return false; } } });

js表單序列化判斷空值