我有一个输入类型编号
<input type="number" class="form-control" id ="nbchambre" name="nbchambre" onchange="myFunction()">
我有另一个输入,我想根据用户输入的数字多次显示,现在我写了这个javascript代码:
function myFunction(){
var n = document.getElementById("nbchambre").value;
for(count = 1; count < n+1; count++){
var div = document.createElement('div');
div.innerHTML = 'test';
document.getElementById('content').appendChild(div);
}
}
但是这段代码不起作用,当我写一个数字时,div会显示“测试”字样。数字的10倍(例如,当我写3时,它将显示单词test 30次),当我在写3后写5时,它将添加50&#39; test&#39;到第30个&#39;测试&#39;。我不擅长JavaScript,所以请帮我修复这段代码。感谢
答案 0 :(得分:2)
您需要确保将输入值转换为数字。否则它将被视为一个字符串。
<input type="number" class="form-control" id ="nbchambre" name="nbchambre" onchange="myFunction()">
<div id="content"></div>
<script>
function myFunction(){
var n = Number(document.getElementById("nbchambre").value);
var content = document.getElementById('content');
content.innerHTML="";
for(var count = 1; count < n+1; count++){
var div = document.createElement('div');
div.innerHTML = 'test';
content.appendChild(div);
}
}
</script>
&#13;