extjs.form.textarea一个问题记录

简介:
最近用textarea时发现,textarea内容如果有换行会有严重的问题。换行数据会直接按换行格式提交并存储。再次读取时json字符串会出现格式化异常。

最初的想法是换用htmleditor。
但HtmlEditor也有问题。前端检验无法生效。

后来经过多种测试比较、分析,我认为这个问题是提交方式引起的。采用Ajax.request提交时会有前述问题,而form.submit则无碍于此。

但Form.submit仍有问题。当控件设定了emptytext时,submit会将该值提交到后台。

设想了两个折衷办法。一是只对必填项设置emptytext,使用form.submit来提交textarea。二是对在提交前对textarea的getValue()值做个处理,将其中的“\r\n”(ie下)或者“\n”(火狐下)替换成<br>;而读取时又将<br>替换回换行符。
后来采用了第二种方法。

但后来对这个问题又有了新的认识。经过验证,换行问题与提交的方法无关。新的推测是与查询的方法有关。出现问题的地方,在后台是手动拼返回的json字符串;而其它地方是由框架自动完成这个动作。手动拼字符串没有对隐藏的转义字符如“\r\n”等做处理,因此出了问题。
现有的这个后台处理涉及的模块比较多,目前仍沿用折中办法中的第二个。以后的话,一定让框架自动拼这个json字符串。


本文转自 斯然在天边 51CTO博客,原文链接:http://blog.51cto.com/winters1224/972130,如需转载请自行联系原作者
相关文章
|
JavaScript
Element el-form 表单详解
本文目录 1. 前言 2. 基本用法 3. 行内表单 4. 标签对齐方式 5. 调整尺寸 6. 小结
1428 0
Element el-form 表单详解
|
2月前
|
数据安全/隐私保护
HTML表单(Form)常用控件
HTML表单(Form)常用控件。
19 1
|
6月前
HTML <input> 标签的 autocomplete 属性
HTML <input> 标签的 autocomplete 属性
33 0
|
9月前
|
前端开发
使用 div 实现 input、textarea 输入框,并支持 placeholder 属性(解决浏览器兼容问题)
使用 div 实现 input、textarea 输入框,并支持 placeholder 属性(解决浏览器兼容问题)
113 0
|
10月前
HTML中<button />和<input type=“button“/>的区别
HTML中<button />和<input type=“button“/>的区别
53 0
|
前端开发 JavaScript
HTML之<form><textarea>元素详解
一篇了解form和textarea元素
359 0
HTML之<form><textarea>元素详解
【Layui】var form = layui.form的意思 监听提交事件
【Layui】var form = layui.form的意思 监听提交事件
273 0
【Layui】var form = layui.form的意思 监听提交事件
|
JavaScript
Extjs Form 表单修改
Extjs修改分两种方法:1.前台直接加载;2.通过后台远程加载 1.直接加载:方法 form.getForm().loadRecord(); 应用时要求页面上已经存在页面中的所有数据,比如选中gridPanel一行,然后直接传递此行记录,到formPanel页面,可直接加载 2.后台加载:方法 form.getForm().load(); 应用时 传递一个参数到后台,然后远程取值,绑定。
981 0