【发布时间】:2022-11-30 21:12:12
【问题描述】:
我是 JavaScript 的新手,所以很难通过这条线。我有一个带有 textarea 字段的表单。在回车键的每个按键事件之后,我需要将每一行都包裹在 li 标签中。然后一旦提交,数据将作为列表输出。我使用的是 Javascript 而不是 JQuery。问题是,当我添加 li 标签时,开始标签总是添加到第一项,最终有多个开始 li 标签,结束标签正常工作。
到目前为止我已经试过了。 HTML
<textarea id="form__comments" name="comments" class="form__comments" rows="10" onkeypress="addLiTag(event);"></textarea>
JS
function addLiTag(e) {
const commentValue = document.getElementById("form__comments").value
var lines = commentValue.split(/\r?\n/)
var key = e.keyCode
// If the user has pressed enter
if (key === 13) {
document.getElementById("form__comments").value = "<li>" + lines + "</li>"
return false
} else {
return true
}
}
这是文本区域内的输出
<li><li><li>One</li>,two</li>Three,</li>
【问题讨论】:
-
textarea 只能包含纯文本。如果您能看到实际列表,则说明您正在处理其他一些元素。
-
抱歉@Teemu,这是我在 Stackoverflow 上的第一个问题,没有使用正确的方法来显示文本区域内容。我已经修改并显示了 HTML。
-
好的,这就是我的想法,但我必须问清楚。
标签: javascript arrays list textarea