提问者:小点点

通过getElementById(). value在文本区域中添加新行不工作


我对Javascript相当陌生。抱歉,如果我说了一些荒谬的话。我在这里找到的以前的答案都不适用于我的情况…代码从数组循环生成的下拉列表中的选定选项中获取索引,并使用此索引在文本区域中发布产品描述。理想的情况是每行一个。但是每当我添加'\n'(仅在代码末尾添加以可视化)或'

PR[]是一个嵌套数组,其中包含第一个位置的10种产品(例如阿迪达斯足球)的描述和第二个位置的价格。

购买()函数由按钮onclick事件调用,每次调用它都会向文本区域添加一个产品。提前感谢!

textd=" ";
valord=0;
function buy() {
var e = document.getElementsByTagName("select");
var f =  e[0].selectedIndex; 
textd +=pr[f][0]; 
valore = valord += pr[f][1];
document.getElementById("compras").value=textd\n;
document.getElementById("valor").value ="R$ "+ valore+",00";
}

共1个答案

匿名用户

您需要在将文本添加到文本区域的同时将“\n”添加到字符串的末尾,然后此“\n”确保该行将显示在新行而不是同一行中。

看下面的代码

<!DOCTYPE html>
<html>
<body>
<script>
function appendText()
{
debugger;
var ele = document.getElementById("textArea");
var text = ele.value;
text += "im clicked\n";
text +="clicked again\n";
text +="clicked third time\n";
text +="clicked forth time";
ele.value = text;
}
</script>
<textarea rows="4" cols="50" id="textArea">
At w3schools.com you will learn how to make a website. We offer free tutorials in all web development technologies.
</textarea>

<button type="button" onclick="appendText()">Click me </button>
</body>
</html>