首页 > 学院 > 开发设计 > 正文

关于jquery的serialize方法转换空格为+号的解决方法

2019-11-17 02:11:45
字体:
来源:转载
供稿:网友

关于jquery的serialize方法转换空格为+号的解决方法

jquery的 serialize()方法,可以对表单项进行序列化,这本来是很方便的一个功能;但是实际使用中去发现了如下问题:例如:< textarea name="content">abc 123 </textarea >那么在执行 serialize()方法后,得到的却是abc+123这样的字符串;即jquery的序列化方法对空格进行了转义,转换成了 + 号。jquery中serialize方法的部分代码如下所示://.................//.................return s.join("&").replace(/ /g, "+");  //替换空格为 + 号测试了一下,serialize()方法对真正的“+”号转义的是 %2B,所以可以放心的对serialize()后的结果进行符号替换例:< textarea name="content">abc + 123 + 456</textarea >jquery代码:var a= $('$frm1').serialize(); //序列化,默认会调用encodeURIComponent()进行编码alert(a); // content=abc+++123+++456var b = a.replace(//+/g," ");// g表示对整个字符串中符合条件的都进行替换b =decodeURIComponent(b);//对serialize后的内容进行解码alert(b); // content=abc + 123 + 456至此,问题解决了。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表