首頁 > php教程 > PHP开发 > jQuery透過ajax快速批次提交表單數據

jQuery透過ajax快速批次提交表單數據

高洛峰
發布: 2016-12-09 10:05:59
原創
1071 人瀏覽過

當表單資料項很多時,手動取得表單項目的值將變得效率低下,結合jQuery提供的函數serialize(),我們可以實現快速取得資料並提交表單資料。

請看下面的表單:

<form id="fm">
 <table>
 <tr>
  <td>姓名</td>
  <td>
  <input type="text" name="name" />
  </td>
 </tr>
 
 <tr>
  <td>年龄</td>
  <td>
  <input type="text" name="age" />
  </td>
 </tr>
 
 <tr>
  <td>密码</td>
  <td>
  <input type="password" name="password" />
  </td>
 </tr>
 
 <tr>
  <td>性别</td>
  <td>
  <input type="radio" name="sex" value="male" />男
  <input type="radio" name="sex" value="female" />女
  </td>
 </tr>
 
 <tr>
  <td>地区</td>
  <td>
  <select name="area">
   <option value="heping">和平区</option>
   <option value="nankai">南开区</option>
   <option value="xiqing">西青区</option>
   <option value="hexi">河西区</option>
  </select>
  </td>
 </tr>
 
 <tr>
  <td>爱好</td>
  <td>
  <input type="checkbox" name="hobby[]" value="movie" />电影
  <input type="checkbox" name="hobby[]" value="music" />音乐
  <input type="checkbox" name="hobby[]" value="basketball" />篮球
  </td>
 </tr>
 
 <tr>
  <td>个人介绍</td>
  <td>
  <textarea name="intro" ></textarea>
  </td>
 </tr>
 
 <tr>
  <td></td>
  <td>
  <input type="button" value="提交" id="submit" />
  </td>
 </tr>
 </table>
</form>
登入後複製

   

我們可以透過自訂函數getFormData()來取得表單的數據,請看下面的範例

rr🜎簡單:

$(function(){
 $(&#39;#submit&#39;).click(function(){
 //选取表单
 var form = $(&#39;#fm&#39;);
 //获取表单数据
 var data = getFormData(form);
 //发送AJAX请求
 $.post(&#39;test.php&#39;,data,function(data){
  console.log(&#39;ok&#39;);
 });
 });
});
登入後複製

   

test.php接收到的資料將會是:

function getFormData(form){
 var data = form.serialize();
 data = decodeURI(data);
 var arr = data.split(&#39;&&#39;);
 var item,key,value,newData={};
 for(var i=0;i<arr.length;i++){
 item = arr[i].split(&#39;=&#39;);
 key = item[0];
 value = item[1];
 if(key.indexOf(&#39;[]&#39;)!=-1){
  key = key.replace(&#39;[]&#39;,&#39;&#39;);
  if(!newData[key]){
  newData[key] = [];
  }
  newData[key].push(value);
 }else{
  newData[key] = value;
 }
 }
 return newData;
}
登入後複製
   

和普通的表單提交的資料格式是一樣的,我們可以處理的資料

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板