在jQuery文档中,有人提到
目前,在textarea元素上使用.val()会从浏览器报告的值中剥离回车字符。但是,当这个值通过XHR发送到服务器时,回车将被保留(或者由不包含它们的浏览器添加到原始值中)。可以使用valHook解决此问题,如下所示:
发布于 2015-10-19 07:46:16
我是从这个链接http://bugs.jquery.com/ticket/9007得到的,有道理.
当询问textarea元素的值时,".val()“代码从浏览器报告的值中删除所有回车字符。 但是,当值被提交到服务器时,回车会被保留(或者被不包含在原始值中的浏览器添加),而且(因为#6876) jQuery确保它们在序列化版本for jQuery中是web浏览器脚本语言(如JavaScript )可以使用的API。它用于向web服务器发送HTTP或HTTPS请求,并将服务器响应数据加载回脚本)。 ".val()“所报告的字段与实际提交的内容之间的差异的问题是,当提供某种”最大长度“工具来报告文本区域中的可用字符时,该代码必须考虑到在服务器保留回车的情况下的差异(据我的经验,这是很可能的事情)。换句话说,“字符倒计时”必须考虑到这样一个事实:当textarea值(如jQuery所报告的)包含换行符时,它的实际长度--在数据库中或服务器端验证代码中--会随着换行数的增加而增大。 现在很明显,这个数学很容易做,而且剥夺那些马车的回报可能有各种各样的优点。据我所知,这种行为并没有被清楚地记录下来;它肯定没有出现在".val()“的描述中。我的观察是,事实上,这种差异对于我上面所描述的那种设施的许多作者来说是未知的。
希望这有助于理解这种行为。
https://stackoverflow.com/questions/33206307
复制相似问题