如何在javascript中为文本框中输入的值创建更多元素?

如何在javascript中为文本框中输入的值创建更多元素?,javascript,Javascript,我使用for循环创建3个文本框,其中包含javascript中的ID。。如果我在每个文本框中输入数字,我希望在每个文本框下显示相同数量的段落元素 我有一个问题:当我在其他文本框中输入值时,每个文本框都会受到影响 这是我的密码: for (i = 0; i < 3; i++) { var tx = document.createElement('input'); tx.setAttribute('id', i);

我使用for循环创建3个文本框,其中包含javascript中的ID。。如果我在每个文本框中输入数字,我希望在每个文本框下显示相同数量的段落元素

我有一个问题:当我在其他文本框中输入值时,每个文本框都会受到影响

这是我的密码:

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
是的,是的。。但是如果你能看到第二个文本中输入的数字会影响第一个文本。啊,好的。。那这就是你应该做的谢谢