【问题标题】:Add New Line in textarea by getElementById().value not Working通过 getElementById().value 在 textarea 中添加新行不起作用
【发布时间】:2016-10-25 04:34:59
【问题描述】:

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

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

buy() 函数由按钮 onclick 事件调用,每次调用它都会将一个产品添加到 textarea。 提前致谢!

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";
}

【问题讨论】:

    标签: javascript textarea newline


    【解决方案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>

    您可能需要将代码更改为 文本 +=pr[f][0] + "\n"; document.getElementById("compras").value=textd;

    【讨论】:

    • 非常非常感谢!工作完美!非常感谢您的时间和关注。来自里约热内卢的 Brgds!我一直在使用 w3schools.com,我真的很喜欢他们的材料。希望有一天我能像你在这里一样帮助别人。
    猜你喜欢
    • 1970-01-01
    • 2021-12-12
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多