Jquery收集表单数据的方法封装

2023-09-12 佚名 1252

Jquery收集表单数据的方法封装

                        /**

* 收集表单数据对象的数据,保存成json数据。同时是checkbox组件,那么会以字符串连接形式拼接。

* 使用方法 $("#fm-id").serializeJson('{"a":"1","b":"2"}')

* @param {Object} jsonFmatStr json字符串数据, 附件的其他数据(如果和对象属性名一致,会覆盖)

*/

$.fn.serializeJson = function(jsonFmatStr){

var json = {}

var array = this.serializeArray();

$.each(array,function(idx,item){

if(json[item.name]){//如果这个字段数据已经存在

json[item.name] += ";"+item.value;

}else{

json[item.name] = item.value || '';

}

})

if(jsonFmatStr != undefined){

var otherData = JSON.parse(jsonFmatStr)

$.extend(true,json,otherData)

}

return json;

}


                <form class="form-horizontal m" id="feedback">

<input id="usercode" name="usercode" type="text" >

<input id="username" name="username" type="text" value="张三">

<select name="fav">

<option value="001">篮球</option>

<option value="002">足球</option>

<option value="003">羽毛球</option>

</select>

<input type="checkbox" name="subNames" value="chinese" checked><label>语文</label>

<input type="checkbox" name="subNames" value="math"><label>数学</label>

<input type="checkbox" name="subNames" value="english" checked><label>英语</label>

</form>


                        $(function() {

var result = $("#feedback").serializeJson('{"subNames":"美术;化学"}');

console.log(result);

})




*本文已进行版权登记,版权归属本平台,抄袭必究。

*如需转载,请联系QQ号:260341359

*文章为作者独立观点,不代表平台立场。