使用javascript从html textarea获取多行数据

时间:2012-11-14 09:01:45

标签: javascript html textarea

您好,
  我从html textarea获取数据时遇到了麻烦.textarea的定义如下:

<textarea id="ta" cols=30 rows=15> 
</textarea>  


在这里,textarea限制为30个字符。因此,如果每行的字符数超过30个字符,光标将移动到下一行。它运行良好。但问题是,当我尝试使用{{来获取该值时1}},整个textarea内容显示为单行(连续字符串)虽然它有多个。
这是my fiddle

如果行被javascript键分隔,则会显示多行。

3 个答案:

答案 0 :(得分:2)

如果您在输入ENTER时按<textarea>,则会插入换行符。 JavaScript中的换行符为\n。您不应该对此做任何事情,JavaScript应该始终将其视为换行符。就像jsshah一样,你粘贴的代码也适合我。

答案 1 :(得分:1)

按“输入密钥”,它将包含在警报中。

即使使用“新行”,值仍为单个字符串。 例如:“Stack Overflow”而不按Enter键。

“堆叠[ENTER KEY]溢出”按下输入... 仍然会产生一个字符串“Stack \ nOverflow”

var x = "Stack\nOverflow";
alert(x);

元素属性COLS - &gt;列,而ROWS - &gt;行, 很像宽度和高度,但不是真的。

<textarea id="ta" cols=30 rows=15></textarea>

答案 2 :(得分:1)

默认情况下,浏览器会根据需要自动换行文本,但这样的换行只是可视或“软”。它不会影响发送到服务器的数据(提交表单时)或内部表示。

如果您使用wrap=hard中的textarea属性,则在向提交的数据添加换行符的意义上,自动换行会变得“难”。但是在我测试的浏览器中,换行符不会出现在您可以在JavaScript中访问的内部表示中。 (据推测,浏览器会在提交时重新包装文本。)

因此,如果你真的需要将文本包装起来,就像在JavaScript中访问一样,你需要自己完成。另一方面,由于自动包装不是实际的用户输入,因此很少有理由将其视为原样。