根据用户输入的数字生成文本框

时间:2015-04-01 18:15:00

标签: javascript html

我希望当用户在文本框中输入数字并点击设置时,会根据他输入的数字显示文本框,这是我提出的但是它无效请帮助

<html>
<head>
<script>
function generate(){
var a=parseInt(document.getElementById("nochapter").value);
for (i=0;i<=a,i++){
document.getElementById("ch").innerHTML="<input type='text' >"}}
</script>
</head>
<body>
<h1> Prepare new assessment</h1>
<form>
No. of Chapter included <input type="text" id="nochapter" > 
<input type ="button" value="set" onclick="generate()">

<div id="ch"></div>    

2 个答案:

答案 0 :(得分:1)

您的代码应该是这样的。 最好将一个输入元素附加到div。

<head>
    <script>
    function generate() {

        var a = parseInt(document.getElementById("nochapter").value);
        var ch = document.getElementById("ch");

        for (i = 0; i < a; i++) {
            var input = document.createElement("input");
            ch.appendChild(input);
        }
    }
    </script>
</head>

<body>
    <h1> Prepare new assessment</h1>
    <form>
        No. of Chapter included
        <input type="text" id="nochapter" />
        <input type="button" value="set" onclick="generate()" />
        <div id="ch"></div>
    </form>
</body>

答案 1 :(得分:0)

您的书面代码中存在小故障

for(i = 0; i&lt; = a,i ++) - &gt; for(i = 0; i&lt; = a; i ++)

即使你改变了它,它也只会生成一个文本框,因为你要为每次迭代替换innerHTML。所以根据迭代次数单独准备字符串并将其分配给innerrHTML。它应该工作。