在修改一个前台表单提交逻辑时,为了不动以前的代码(代码和屎一样),就想着在提交数据时过滤掉form表单中指定的name属性和值,由于表单直接使用jquery中的serialize()方法来获取的form表单的数据,所以就要对 serialize() 方法获取的数据进行处理!
jQuery去掉 serialize() 方法中指定的name值
自定义一个js函数,来去掉 serialize() 数据中指定的name值
jq代码:
/** * * @param formdata serialize()获取的数据 * @param name 要排除掉的name属性 * @return reslut 类似 serialize() 获取数据格式的数据 * @host http://www.feiniaomy.com */ function undatakey(formdata,name) { result = ''; for(var i in formdata.split("&")){ var row = formdata.split("&")[i]; var key = row.split("=")[0]; var value = row.split("=")[1]; if(key != name){ result = result + row + "&"; } } return reslut; }
函数调用:
formdata = undatakey($('#form').serialize(),'name');
JQ 修改 serialize() 方法中的某个值
既然我们可以去掉 serialize() 数据中的某个name属性和值,也可以对某个name属性的值进行修改,可以参考下面的代码!
JQ代码:
/** * * @param formdata serialize()获取的数据 * @param name 要修改name属性 * @param value 新的属性值 * @return reslut 类似 serialize() 获取数据格式的数据 * @host http://www.feiniaomy.com */ function editdatakey(formdata,name,value) { result = ''; for(var i in formdata.split("&")){ var row = formdata.split("&")[i]; var key = row.split("=")[0]; var value = row.split("=")[1]; if(key == name){ result = key + '=' + value + '&'; }else{ result = result + row + "&"; } } return reslut; }
本文jQuery去掉 serialize() 方法中指定的name值到此结束。终于儿子去当兵了。三年后母亲自豪地去参加儿子的检阅仪式。人们望着走过的队伍哈哈大笑之时,母亲却激动地放声高喊,“哦-----亲爱的保罗!他们都走错了,只有你走对了!谢谢大家支持!