[英]How do I append input node to form with JavaScript while keeping existing form data?
每次单击下面代码中的button
时,我想在form
中添加另一个input
字段。 使用appendChild()
,似乎我只能这样做一次。 我尝试使用innerHTML
添加该字段,但这会删除已在现有表单字段中键入的内容。 使用 vanilla JavaScript 实现这一目标的最佳方法是什么,同时保留已经输入表单的内容? 预先感谢您的帮助。
let getArticleForm = document.getElementById("articleForm"); let cloneInputNode = document.getElementById("textInput").cloneNode(true); cloneInputNode.setAttribute("id", "newId"); function addInput() { getArticleForm.appendChild(cloneInputNode); }
<form id ='articleForm'> <input id="textInput" type="textarea"></input> </form> <button onClick="addInput()">add input</button>
将其克隆到侦听器中,否则您只创建了一个克隆(再次附加时会从其先前位置删除)。
let getArticleForm = document.getElementById("articleForm"); function addInput() { getArticleForm.appendChild(document.getElementById("textInput").cloneNode(true)); }
<form id ='articleForm'> <input id="textInput" type="textarea"></input> </form> <button onClick="addInput()">add input</button>
但也有一些其他的修复:
type="textarea"
作为<input>
的属性没有意义。 如果你想要一个 textarea,请使用<textarea>
。 const getArticleForm = document.getElementById("articleForm"); function addInput() { getArticleForm.appendChild(document.createElement('input')); }
<form id ='articleForm'> <input id="textInput" type="textarea"></input> </form> <button onClick="addInput()">add input</button>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.