我将字符串从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时,我可以在将来的代码中管理文本。
答案 0 :(得分:1)
是的,等效代码将是换行符,但在您的示例中,\n
之间不应有空格。
答案 1 :(得分:1)
在将文本添加到textarea时我会使用\r\n
,因为它会保留格式并且不会呈现HTML实体。如果您打算将该文本用作HTML,则可能需要将这些文本转换为换行符。使用\n
将适用于基于Unix的系统,但您可能会或可能不会在旧版本的IE中遇到问题。更重要的是 - 当用户将文本复制并粘贴时,原始格式也将被保留,您可能需要考虑是否有条件地将换行符应用为回车符和/或换行符。
答案 2 :(得分:0)
根据HTML规范,line break可以是换行符(LF),回车符(CR)或CR LF对。这意味着,从JavaScript的角度来看,HTML换行符可能是'\n'
或'\r'
或'\r\n'
,具体取决于实施方式。
当提交包含textarea的表单时,浏览器需要将换行符规范化为CR LF,这是对它们的Internet约定。这就是浏览器的功能。但是,只有在准备表单数据以供提交时,他们才不需要在元素内容内部这样做。