2013-07-16 65 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是一個唯一的標識符。你想上課。這是你的問題的一部分。你的功能也沒有收到'這個'。所以這是一個問題。