传递给javascript时,html break的等价物是什么

时间:2013-02-15 02:06:07

标签: javascript html newline

我将字符串从HTML传递到Javascript

<textarea ></textarea>

如果用户在textarea内按“ENTER”...

例如

hello there
I hit the enter key

将此字符串提交给javascript后,它会是什么样子?

是这样的吗?

pass_character = "hello there \n I hit the enter key";

但'\ n'似乎错了。我做了一个测试

text = pass_character.split(' ');
if(text[i] == '\n')
       do something

我想知道相应的换行符或'enter',当它已经传递给javascript时,我可以在将来的代码中管理文本。

3 个答案:

答案 0 :(得分:1)

是的,等效代码将是换行符,但在您的示例中,\n之间不应有空格。

答案 1 :(得分:1)

在将文本添加到textarea时我会使用\r\n,因为它会保留格式并且不会呈现HTML实体。如果您打算将该文本用作HTML,则可能需要将这些文本转换为换行符。使用\n将适用于基于Unix的系统,但您可能会或可能不会在旧版本的IE中遇到问题。更重要的是 - 当用户将文本复制并粘贴时,原始格式也将被保留,您可能需要考虑是否有条件地将换行符应用为回车符和/或换行符。

http://jsfiddle.net/NgcuF/1/

答案 2 :(得分:0)

根据HTML规范,line break可以是换行符(LF),回车符(CR)或CR LF对。这意味着,从JavaScript的角度来看,HTML换行符可能是'\n''\r''\r\n',具体取决于实施方式。

当提交包含textarea的表单时,浏览器需要将换行符规范化为CR LF,这是对它们的Internet约定。这就是浏览器的功能。但是,只有在准备表单数据以供提交时,他们才不需要在元素内容内部这样做。