我希望当用户在文本框中输入数字并点击设置时,会根据他输入的数字显示文本框,这是我提出的但是它无效请帮助
<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>
答案 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。它应该工作。