修正ExtJS Form Submit时输入数据带有特殊字符问题
2012-05-07 10:53
253 查看
也有很多人反应过,ExtJS里使用HtmlEditor时,如果输入了格式,使用Form.submit时会出错
其实不光是HtmlEditor,包括普通的输入项,如果输入<br>之类的标签,都可能会出现
.Net网站则报了个参数有危险字符的警告错误
奇怪的是有时光输入<符号也不一定会出错
解决办法是在向网站发送数据前,先对数据进行HtmlEncode,把<符号变成转义字符串
但是对ExtJS就麻烦了,因为使用的是ExtJS的默认的Form的Action操作
打开ExtJS的三个核心库看了半天,最后确认问题是在序列化上,改了半天没反应,调了下才发现因为使用了同步机制,应该修改后来增加的ext-basex.js文件
把里面进行Ajax传输前对Form序列化的地方做了下改动,终于可以了
不过ext-basex.js文件比核心三个文件好改多了,那三个文件是压缩过的,代码密密麻麻的......
找到这个方法:
serializeForm : function(){
然后找到这行:
data += encoder(name) + '=' + encoder(element.value) + '&';
改成:
data += encoder(name) + '=' + encoder(Ext.util.Format.htmlEncode(element.value)) + '&';
OK,测试问题解决,可以保存了
查查数据库,保存的有点问题,需要在读取数据的地方进行HttpUtility.HtmlDecode操作,这样数据库里保存的就不是编过码的格式了
其实不光是HtmlEditor,包括普通的输入项,如果输入<br>之类的标签,都可能会出现
.Net网站则报了个参数有危险字符的警告错误
奇怪的是有时光输入<符号也不一定会出错
解决办法是在向网站发送数据前,先对数据进行HtmlEncode,把<符号变成转义字符串
但是对ExtJS就麻烦了,因为使用的是ExtJS的默认的Form的Action操作
打开ExtJS的三个核心库看了半天,最后确认问题是在序列化上,改了半天没反应,调了下才发现因为使用了同步机制,应该修改后来增加的ext-basex.js文件
把里面进行Ajax传输前对Form序列化的地方做了下改动,终于可以了
不过ext-basex.js文件比核心三个文件好改多了,那三个文件是压缩过的,代码密密麻麻的......
找到这个方法:
serializeForm : function(){
然后找到这行:
data += encoder(name) + '=' + encoder(element.value) + '&';
改成:
data += encoder(name) + '=' + encoder(Ext.util.Format.htmlEncode(element.value)) + '&';
OK,测试问题解决,可以保存了
查查数据库,保存的有点问题,需要在读取数据的地方进行HttpUtility.HtmlDecode操作,这样数据库里保存的就不是编过码的格式了
相关文章推荐
- 在extjs的textfield中输入带有特殊字符的字符串,比如/opt/apache-storm-0.9.4/bin/storm ui &但是&符号却无法传递到后台
- 使用Extjs的Form无法输入的问题
- 不同输入框应该要注意特殊字符的问题
- Oracle数据表中输入引号等特殊字符
- 解决给定义的整型数据输入字符时出现死循环的问题
- android开发,安装带有特殊字符名称的apk,解析包时出现问题
- infobright中导入数据避免特殊字符问题
- #面试题#URL带有中文或者其他特殊字符时错误的问题
- 完美解决QQ空间背景音乐中不能输入如"="等特殊字符问题
- response的字节流和字符流输入的区别和问题--02-response的outputStream输出数据的问题.avi
- URL传带有特殊字符的参数时,特殊字符丢失问题
- infobright中导入数据避免特殊字符问题
- easyui使用datagrid时列名包含特殊字符导致表头与数据错位的问题
- 3.保存shp数据于地理数据库不能带有特殊字符
- 用Base64加密数据解决json传输数据中特殊字符问题
- C语言--C语言种输入其他类型数据后输入字符数据时跳过问题处理
- extJS提交form表单数据的方式: Ext.Ajax.request,form.submit,getEl().dom.submit()
- Ext.Net/ExtJs:关于TextField控件内size、maxLength控制文本框输入字符长度属性失效问题分析以及解决方案
- JAVA中无法处理带有特殊字符文件名的zip包的问题解决
- sqoop 导入数据特殊字符问题