我正在使用$("#text").val()
从textarea字段获取文本并通过ajax发送,但是linebreaks(我的意思是textarea中的\r\n
)完全消失了......为什么会这样,以及如何预防它?
谢谢!
答案 0 :(得分:21)
取自the documentation for val()
:
注意:目前,在textarea元素上使用.val()会删除运输 从浏览器报告的值返回字符。当这个值是 然而,通过XHR发送到服务器,保留了回车(或 由不包含原始值的浏览器添加)。一个 可以使用valHook实现此问题的解决方法,如下所示:
$.valHooks.textarea = { get: function( elem ) { return elem.value.replace( /\r?\n/g, "\r\n" ); } };
将上述代码段添加到您的javascript中会覆盖textareas的val()
的默认行为,并会保留空格。