无法更改动态创建的文本框的值

时间:2013-07-16 21:05:49

标签: javascript variables textbox dynamically-generated

我一直在尝试各种各样的方法来做这件事,但还没有做任何工作。我所拥有的是一个文本框,它是动态生成的HTML表的一部分......用户可以添加行或删除它们。在这个例子中,我希望用户能够在文本框中输入一个值,当焦点从框改变到表的另一部分时,我希望它将更改的值保存在默认值的位置。无论我尝试什么,价值总是空白。这是动态生成的表元素:

function ...() {

    var addText = document.createElement('input');
            addText.setAttribute('type','text');
            addText.setAttribute('name','comment');
            addText.setAttribute('id','text');
            addText.setAttribute('value','');
            addText.setAttribute('onblur','changeText(this)');

...
}

和函数changeText():

function changeText () {
    var comment = getElementById('text').value;
    /* How to get it back? */
}

我可以看到问题(我认为)是因为我没有让comment回到调用函数中的正确位置,但解决方案正在逃避我!

2 个答案:

答案 0 :(得分:1)

你必须改变这一行

var comment = getElementById('text').value;

 var comment = document.getElementById('text').value;

答案 1 :(得分:1)

您多次设置相同的ID。 Id是唯一标识符。你想上课。这是你问题的一部分。你的功能也没有收到'this'。这是一个问题。