【转】JQuery的serialize()方法 2011年05月16日 星期一 14:24 转载自 yaoyuex 最终编辑 shigp 使用ajax时,常常需要拼装input数据为'name=abc&sex=1'这种形式,用JQuery的serialize方法可以轻松的完成这个工作。如: <form id="form1"> <input name="name1" type="text" value="pipi" /> <input name="name2" type="radio" value="1" checked/>boy<input name="name2" type="radio" value="0"/>girl <textarea name="name3">test</textarea> </form> 使用: $("#form1").serialize(); 结果: name1=pipi&name2=1&name3=test 但是有个问题,如果是下面的情况: <form id="form1"><input name="name" type="text" value="pipi" /> <input name="blog" type="text" value="blue submarine" /> </form> 使用: $("#form1").serialize(); 结果: name1=pipi&blog=blue+submarine 就是如何能让+号变回空格呢? 还有一个问题,如下所示: <form id="form1"><input name="length" type="text" value="pipi" /> <input name="blog" type="text" value="blue submarine" /> </form> 使用: $("#form1").serialize(); 结果: blog=blue+submarine 没法出现length=pipi 原因是length是js数组的属性关键字,出现冲突了,将name改为其他非冲突字符串即可