我确信这是一个简单的错误,但我无法理解。我希望用户能够在表单字段中输入数字,单击按钮,然后将创建许多字段。到目前为止,这是我的HTML和JavaScript。 removeChild可以工作,但不会添加字段:
<body>
<script language="javascript">
function addFields(){
var numFields = document.getElementById("numParts").value;
var theContainer = document.getElementById("partsList");
//document.write(numFields);
while (theContainer.hasChildNodes()) {
theContainer.removeChild(theContainer.lastChild);
}
for(i=0;i<numFields;i++){
var input = document.createElement("input");
input.type = "text";
input.name = "participant" + i;
theContainer.appendChild("input");
theContainer.appendChild(document.createElement("br"));
}
}
</script>
<form name="enterFields">
<input type="text" id="numParts" />
<input type="button" value="Add" onClick="addFields();" />
<div id="partsList">
<input type="text" />
</div>
</form>
</body>
答案 0 :(得分:2)
问题在于,当您尝试使用appendChild
添加输入时,您指定了一个字符串,当您应该传递实际元素时。
这就是你想要的(注意缺少引号):
theContainer.appendChild(input);