只有有文字时强制换行?使用Javascript

时间:2015-04-06 17:58:20

标签: javascript

<head>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>
    <center>
        <input type="text" id="item" onkeydown="if (event.keyCode == 13) document.getElementById('getItem').click()">
            <button id="getItem" onclick="getItem()">Add to List</button>
            <button onclick="getClearItem()">Clear</button> <hr color="gray" id="lineDivider">
            <button onclick="getClearList()">Clear List</button> <br>
        <textarea readonly id="list"></textarea>
    </center>

</body>

<script>
    function getItem() {
        if (document.getElementById("list").value == "") {
            document.getElementById("list").value += document.getElementById("item").value;
    }
        else { 
            document.getElementById("list").value += \n document.getElementById("item").value;
        }
}

    function getClearItem() {
        document.getElementById("item").value = ""
    }

    function getClearList() {
        document.getElementById("list").value = ""
    }
</script>

</html>

这就是我想要做的事情:

在“项目”文本框中输入一些文本,然后单击“添加到列表”按钮。然后,如果“List”textarea为空,则添加文本而不插入换行符。但是如果textarea中已经存在一些文本,则会插入换行符然后添加文本。我不确定我做错了什么,或者甚至不应该做什么。

当我删除if else语句并使用document.getElementById("list").value += document.getElementById("item").value;时,它可以工作。当我添加\ n时,它不会向空白字段添加任何内容。

如果我的问题不清楚,我道歉。

1 个答案:

答案 0 :(得分:5)

您必须引用换行符,如&#34; \ n&#34;

document.getElementById("list").value += "\n" + document.getElementById("item").value;

FIDDLE