DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript綜合知識 >> jquery選擇符快速提取web表單數據示例
jquery選擇符快速提取web表單數據示例
編輯:JavaScript綜合知識     

 遇到要重復多次同樣的事時,就想找一種省時省力的方法,下面就為大家介紹下利用jquery選擇符快速提取web表單數據

本人比較懶,在做web時,當遇到要重復多次同樣的事時,就想找一種省時省力的方法。    以前在web提交表單並且需要驗證用戶輸入時,在提取用戶輸入信息時,都要在js用到document.getElementById(),這樣一個兩個表單域還行,但有很多時(我就遇到過有十幾個的情況)看看都眼花,所以個人就比較反感這種方式,不過還好,我自己瞎琢磨,利用jquery找到了一種方便的方法。    我給需要提交數據每個表單域添加了一個額外的屬性,用自己額外定義的屬性"_postField"代替原來的name屬性,比如<input type="text" _postField="name" /><input type="radio" _postField="sex" />之類,然後用query獲取所有存在_postField屬性的dom對象,並進行遍歷,封裝成以_postField的值為key,其內容為value的json鍵值對,其js的方法如下:   代碼如下: <script type="text/javascript>  function getFormField(sel){  var objs = $("*["+sel+"]");  var postData = {};  for(var i=0,len=objs.length;i<len;i++){  var obj = objs[i];  var nodeName = obj.nodeName.toLowerCase();  var field = $(obj).attr(sel);    if(nodeName=="input"){  if(obj.type.trim()=="radio"&&(obj.checked||obj.checked=="checked")){    postData[field] = $(obj).val();  continue;  }  if(obj.type.trim()=="checkbox"&&(obj.checked||obj.checked=="checked")){  var ov = postData[field]||"";  var nv = ov+","+$(obj).val();  postData[field] = nv.replace(/^,+/,"");  continue;  }    if(obj.type.trim()=="text"||obj.type.trim()=="hidden"){  postData[field] = $(obj).val();  continue;  }    continue;  }    if(nodeName=="textarea"){  postData[field] = $(obj).val();  continue;  }    if(nodeName=="select"){  var val = obj.options[obj.selectedIndex].value;  postData[field] = val;  continue;  }    postData[field] = $(obj).html();    }    //返回從表單獲取數據的json數據  return postData;  }  </script>    測試代碼:  代碼如下: <form style="margin-left:200px; margin-top:300px;">  <input type="text" value="" _postField="name" /><br /><br />  <input type="radio" value="男" name="sex" _postField="sex" />男  <input type="radio" value="女" name="sex" _postField="sex" />女  <input type="radio" value="中性" name="sex" _postField="sex" />中性 <br /><br />  <select _postField="job">  <option value="上班">上班</option>  <option value="討飯">討飯</option>  <option value="啥都不相干">啥都不相干</option>  </select>  <br /><br />  <input type="button" value=" OK " onclick="test();" />  </form>  <script>  function test(){  var postData = getFormField("_postField");    var sb = [];  for(var o in postData){  sb.push(o+"="+postData[o]);  }  alert(sb.join("n"));  }  </script>   
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved