国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

原生js實現form表單序列化的方法

2024-05-06 15:32:12
字體:
來源:轉載
供稿:網友

當我們有form表單而且里面的表單元素較多時,咱們總不能一個個去獲取表單元素內的值來進行拼接吧!這樣會很讓人蛋疼!為了方便與后臺交互并且提高自己的開發效率,并且不讓你蛋疼;我們一起用原生來寫一個表單序列化方法:

先介紹一下jquery中有相應的表單序列化的方法:

1.serialize()方法

格式:var data = $("form").serialize();

功能:將表單內容序列化成一個字符串。

這樣在ajax提交表單數據時,就不用一一列舉出每一個參數。只需將data參數設置為 $("form").serialize() 即可。

2.serializeArray()方法

格式:var jsonData = $("form").serializeArray();

功能:將頁面表單序列化成一個JSON結構的對象。注意不是JSON字符串。

比如,[{"name":"lihui", "age":"20"},{...}] 獲取數據為 jsonData[0].name;

下面我們用原聲js來實現我們的form表單序列化的函數;

首先我們列明步驟:

1)先獲取form表單使用ById或者是forms;

2)獲取后通過elements 取到表單中所有元素的數組;

3)之后進行遍歷判斷類型(根據類型做相應的對象拼接)實現序列化對象;

代碼如下:

function formser(form){ var form=document.getElementById(form); var arr={}; for (var i = 0; i < form.elements.length; i++) { var feled=form.elements[i]; switch(feled.type) { case undefined: case 'button': case 'file': case 'reset': case 'submit': break; case 'checkbox': case 'radio': if (!feled.checked) { break; } default: if (arr[feled.name]) { arr[feled.name]=arr[feled.name]+','+feled.value; }else{ arr[feled.name]=feled.value;  }  } } return arr },

 以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 伊金霍洛旗| 平和县| 曲靖市| 开阳县| 金沙县| 冀州市| 黄冈市| 类乌齐县| 泰州市| 邵东县| 本溪市| 特克斯县| 长治市| 江孜县| 定陶县| 板桥市| 武定县| 南昌县| 沙雅县| 德兴市| 青海省| 新昌县| 鹤壁市| 辰溪县| 马龙县| 石首市| 襄城县| 胶州市| 封丘县| 临西县| 改则县| 安福县| 德清县| 平塘县| 新密市| 老河口市| 岳西县| 武城县| 喜德县| 江门市| 漠河县|