我尝试做一个动态的ans我是非常新的JS。与我所做的,新添加的字段不断删除以前的:
function add_input() {
var s = document.getElementById('ref').value;
var i = 0;
while ( i < s) {
document.getElementById('the_list').innerHTML =
'<p><input type="text" name="holder_'+ i +'" /></p>';
i++;
}
}
<input type="number" name="ref" id="ref" onchange="add_input();">
<div id="the_list"></div>
6条答案
按热度按时间rqenqsqc1#
使用+=将新元素与先前的元素相加。
5sxhfpxr2#
为了直接回答您的问题,在向其中添加新HTML时,应该使用
+=
而不是=
,因为使用=
会覆盖其中现有的子元素(删除它们)。因此,通过使用
+=
,您只是在现有子元素之后追加,而不是覆盖它们。更好的是,您应该直接使用DOM方法
appendChild
,而不是添加原始HTML:一个二个一个一个
omtl5h9j3#
实际上,在while代码中,缺少+号,因此每次循环只添加一个元素,删除以前添加的输入字段。
只需更新您的函数,例如
0dxa2lsx4#
这应该工作..
5kgi1eie5#
试试这个
jvlzgdj96#
你应该像这样把+加到你的代码中:
就是这样,意思是在前面的基础上增加元素。