日期:2014-05-16 浏览次数:20428 次
大家知道Jquery中有serialize方法,可以将表单序列化为一个“&”连接的字符串,但却没有提供序列化为Json的方法。不过,我们可以写一个插件实现。
?
我在网上看到有人用替换的方法,先用serialize序列化后,将&替换成“:”、“‘”:
/** * 重置form表单 * @param formId form的id */ function resetQuery(formId){ var fid = "#" + formId; var str = $(fid).serialize(); //str= cardSelectDate=3&startdate=2012-02-01&enddate=2012-02-04 var ob= strToObj(str); alert(ob.startdate);//2012-02-01 } function strToObj(str){ str = str.replace(/&/g,"','"); str = str.replace(/=/g,"':'"); str = "({'"+str +"'})"; obj = eval(str); return obj; }
个人感觉这样做有bug。
?
我的方法是,先用serializeArray序列化为数组,再封装为Json对象。
?
?
下面是表单:
?