[英]Javascript how to add input text and keep other fields with value
I am writing javascript
function, which is adding fields as many as user want.我正在写
javascript
function,它正在添加用户想要的字段。 Only one issue in my code: if user already something put to input, my code clean everything.我的代码中只有一个问题:如果用户已经输入了一些东西,我的代码会清除所有内容。 Is it a way how to get
HTML
with value that user put?这是一种如何获得
HTML
与用户输入的价值的方法吗? Or how to add new input and keep records in neighbors' fields.或者如何添加新输入并将记录保存在邻居的字段中。
var uniqid=ID();
document.getElementById("variablesContainer").outerHTML+='<div class="input-group" id="'+uniqid+'"><input type="text" class="form-control" placeholder="Enter new name of variable" aria-describedby="basic-addon1" style="width: 200px;"></div>';
var ID = function () {
return '_' + Math.random().toString(36).substr(2, 9);
};
PS By policy I can't use JQuery
and other framework. PS 根据政策,我不能使用
JQuery
和其他框架。 Only native Javascript
.只有原生
Javascript
。
CodePen link: https://codepen.io/pranaynailwal/pen/KKaPRGe?editors=1111 CodePen 链接: https://codepen.io/pranaynailwal/pen/KKaPRGe?editors=1111
<div id="inputWrapper">
<button onclick="addElem()" id="addNew">Add New Input</button>
<ul id="insertInputs">
</ul>
</div>
function getId() {
return "_" + Math.random().toString(36).substr(2, 9);
}
var inputIds = [];
function addElem() {
console.log("create element");
var uniqid = getId();
inputIds.push(uniqid); //adding here for reference
document
.getElementById("insertInputs")
.insertAdjacentHTML(
"beforeend",
'<div class="input-group" id="' +
uniqid +
'"><input type="text" class="form-control" placeholder="Enter new name of variable" aria-describedby="basic-addon1" style="width: 200px;"></div>'
);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.