如何在javascript中为文本框中输入的值创建更多元素?
我使用for循环创建3个文本框,其中包含javascript中的ID。。如果我在每个文本框中输入数字,我希望在每个文本框下显示相同数量的段落元素 我有一个问题:当我在其他文本框中输入值时,每个文本框都会受到影响 这是我的密码:如何在javascript中为文本框中输入的值创建更多元素?,javascript,Javascript,我使用for循环创建3个文本框,其中包含javascript中的ID。。如果我在每个文本框中输入数字,我希望在每个文本框下显示相同数量的段落元素 我有一个问题:当我在其他文本框中输入值时,每个文本框都会受到影响 这是我的密码: for (i = 0; i < 3; i++) { var tx = document.createElement('input'); tx.setAttribute('id', i);
for (i = 0; i < 3; i++) {
var tx = document.createElement('input');
tx.setAttribute('id', i);
tx.onblur = function () {
for (i = 0; i < 3; i++) {
var no = document.getElementById(i).value;
num = Number(no);
var d = document.getElementById('di' + i);
for (x = 0; x < num; x++) {
var tx1 = document.createElement('p');
tx1.innerHTML = " p" + x;
d.appendChild(tx1);
}
}
};
var div1 = document.createElement('div');
div1.setAttribute('id', "di" + i);
var div = document.getElementById('div1');
div.appendChild(tx);
div.appendChild(div1);
}
(i=0;i<3;i++)的
var tx=document.createElement('input');
tx.setAttribute('id',i);
tx.onblur=函数(){
对于(i=0;i<3;i++){
var no=document.getElementById(i).value;
num=编号(否);
var d=document.getElementById('di'+i);
对于(x=0;x
代码中存在问题。
1)
var div=document.getElementById('div1');
儿童部(德克萨斯州);
代码请求ID为div1的div,但从未附加到DOM中,因此返回null
因此null.appendChild(tx)失败
谢谢
添加了JSFiddle。如果这是你想要做的。。
只需更改代码,在文档上创建一个div
,在javascript中,首先创建div
,然后输入并将其附加到文档中。这是一个工作代码
for (i = 0; i < 3; i++) {
var div1 = document.createElement('div');
div1.setAttribute('id', "di" + i);
document.getElementById('t').appendChild(div1)
var tx = document.createElement('input');
tx.setAttribute('id', i);
document.getElementById("di"+i).appendChild(tx);
tx.onblur = function () {
for (i = 0; i < 3; i++) {
var no = document.getElementById(i).value;
num = Number(no);
var d = document.getElementById('di' + i);
for (x = 0; x < num; x++) {
var tx1 = document.createElement('p');
tx1.innerHTML = " p" + x;
d.appendChild(tx1);
}
}
};
}
(i=0;i<3;i++)的
var div1=document.createElement('div');
div1.setAttribute('id','di'+i);
document.getElementById('t').appendChild(div1)
var tx=document.createElement('input');
tx.setAttribute('id',i);
document.getElementById(“di”+i).appendChild(tx);
tx.onblur=函数(){
对于(i=0;i<3;i++){
var no=document.getElementById(i).value;
num=编号(否);
var d=document.getElementById('di'+i);
对于(x=0;x
是的,是的。。但是如果你能看到第二个文本中输入的数字会影响第一个文本。啊,好的。。那这就是你应该做的谢谢