gpt4 book ai didi

javascript - 使用 JS 的多个输入字段

转载 作者:行者123 更新时间:2023-11-30 17:46:09 25 4
gpt4 key购买 nike

得到如下JS代码:

<script language="javascript">
fields = 0;
pNR = 0;
err = 0;

function addInput() {
if (fields != 40) {
document.getElementById('text').innerHTML += "<input type='text' name='first" + pNR + "' value='' /><input type='text' name='second" + pNR + "' value='' /><br />";
fields += 1;
pNR += 1;
} else {
if (err == 0) {
document.getElementById('text').innerHTML += "<br />Adaugati maxim 40 ingrediente.";
err = 1;
}
document.form.add.disabled = true;
}
}
</script>

和以下 HTML:

<input name="name" style="color:#ffffff;" class="name required" type="button" onclick="addInput()" value="Add" />   

<div id="text">
</div>

默认情况下,没有字段。当我按下添加按钮时(字段以不同的名称两两添加),填写字段并再次单击添加按钮,填充的字段被清空。我做错了什么?

最佳答案

您不仅仅是在添加新的输入。

你是:

  • 将现有的转换为 HTML(value 属性未更改,它仍将具有默认值,而不是当前值)
  • 为新输入添加 HTML
  • 从该 HTML 生成新的 DOM 元素。

不要使用innerHTML。使用 createElementappendChild 和 friend 。


这个:

document.getElementById('text').innerHTML += "<input type='text' name='first" + pNR + "' value='' /><input type='text' name='second" + pNR + "' value='' /><br />";

变成这样:

var firstInput = document.createElement("input");
var secondInput = document.createElement("input");

firstInput.type = secondInput.type = "text";
firstInput.name = "first" + pNR;
secondInput.name = "second" + pNR;

var text = document.getElementById("text");
text.appendChild(firstInput);
text.appendChild(secondInput);
text.appendChild(document.createElement("br"));

并且,对于 else 情况:

var text = document.getElementById("text");
text.appendChild(document.createElement("br"))
text.appendChild(document.createTextNode("Adaugati maxim 40 ingrediente."));

工作示例:http://jsbin.com/OqIWeMum/2/edit

关于javascript - 使用 JS 的多个输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20127888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com