添加特定数量的输入字段

时间:2015-10-26 13:39:44

标签: javascript html

我确信这是一个简单的错误,但我无法理解。我希望用户能够在表单字段中输入数字,单击按钮,然后将创建许多字段。到目前为止,这是我的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>

1 个答案:

答案 0 :(得分:2)

问题在于,当您尝试使用appendChild添加输入时,您指定了一个字符串,当您应该传递实际元素时。

这就是你想要的(注意缺少引号):

theContainer.appendChild(input);

Here is a working example