您好,
我从html textarea获取数据时遇到了麻烦.textarea的定义如下:
<textarea id="ta" cols=30 rows=15>
</textarea>
在这里,textarea限制为30个字符。因此,如果每行的字符数超过30个字符,光标将移动到下一行。它运行良好。但问题是,当我尝试使用{{来获取该值时1}},整个textarea内容显示为单行(连续字符串)虽然它有多个。
这是my fiddle
如果行被javascript
键分隔,则会显示多行。
答案 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中访问一样,你需要自己完成。另一方面,由于自动包装不是实际的用户输入,因此很少有理由将其视为原样。