2013-07-16 62 views
0

我一直在尝试各种方式来完成这一整天,并且没有任何工作完成。我拥有的是一个文本框,它是动态生成的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回到正确的位置呼叫功能,但解决方案正在逃避我!

+1

那么评论应该去哪里,现在它只是一个局部变量,什么都不做?你如何“节省”价值? – adeneo

+0

对不起,在那里可能会更清楚些。 'comment'应该回传给'addText.setAttribute('value','');'并替换空白值。我即将编辑以尝试以下解决方案。我的目标是将价值本身存储到本地存储中。 –

+0

但是,当某个人输入某个值时,值会发生变化,您不必传回任何东西,这是相同的元素? – adeneo

回答

1

您对此行

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

改变

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

除了我上面的回答,这个。 – shubniggurath

+1

对不起Praveen ...我不知何故错过了你的回答路!我终于得出了这个结论,但我认为它只适合于(最终)在花了这么长时间之后将其标记为回答。 –

1

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