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

generate textboxes based on number enter by user

本文关键字:文本 数字 用户 输入      更新时间:2023-09-26

我希望当用户在文本框中输入数字并单击设置时,文本框会根据他输入的数字显示,这就是我想到的,但它不起作用,请帮助

<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>    

您的代码应该是这样的。最好将输入元素附加到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>

您编写的代码中有小故障

对于(i=0;i<=a,i++)-->对于(i=0;i<=a;i++)

即使您更改了它也只会生成一个文本框,因为每次迭代都要替换innerHTML。因此,根据迭代次数分别准备字符串,并将其分配给innerHTML。它应该起作用。