[英]Append elements to text box in new line using HTML DOM
假设我有文本框:-
<input type="text" name="content" id="content"/>
我正在尝试以以下方式将文本追加到此输入框:
document.getElementById("content").value+= "A";
输出类似于:
AAAA....
每次文本都添加到同一行中,如何使文本每次都添加到新行中? 像下面这样。
A
A
A
.
.
您可以使用文本区域,然后设置其样式以使其看起来像文本框,而不是输入类型的文本。
<textarea name="textarea_content" id="tx_content"></textarea>
document.getElementById("tx_content").value+= "A\n";
document.getElementById("tx_content").value+= "A\n";
JSFiddle: https ://jsfiddle.net/sx7t3ykc/
输入文本框将支持一行。 没有多行。 那就是行为。 这就是为什么您的文本显示在一行中的原因。
如果需要多行,则需要使用<textarea></textarea>
元素
input
用于单行。 尝试使用textarea
。
参考下面的代码:
<textarea type="text" name="content" id="content">
</textarea>
和js将是这样的:
document.getElementById("content").value+= "A\n";
我为您提供了一个示例,该示例每5秒追加一个新的“ A”字符。 我使用textarea代替了输入标签。
setInterval(appendNewChar, 5000) function appendNewChar() { document.getElementById("myTextArea").value += "A\\n"; }
<textarea id="myTextArea"></textarea>
正如@GuyFromChennai所说,您必须使用标记而不是,而且,写'\\ n'将使换行符中断,我尝试这样做:
<textarea name="content" id="content"></textarea>
for (let i=0; i<3; i++){
document.getElementById("content").value+= "A\n"";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.