2011-06-26 99 views
0

我寫了一個javascript來動態生成文本框。在javascript中動態生成文本框

代碼:

function addtextbox(val) 
{ 
var foo = document.getElementById('fooBar'); 
var num = (document.getElementById('cnt').value -1 + 2); 
ingrds[num]= val; 
var newdiv = document.createElement('div'); 
var divIdName = 'divid'+num;  
newdiv.setAttribute('id',divIdName); 
newdiv.innerHTML = '<input type="text" size="15" id="' + ingrds[num] + '" value="' + val + '"><a href="javascript:remove('+divIdName+')">Remove</a>'; 
foo.appendChild(newdiv); 
} 

//函數刪除動態添加文本框

function remove(dId) 
{ 
var foo = document.getElementById('fooBar'); 
foo.removeChild(dId); 
} 

每當remove函數被調用,我想刪除它之前得到的文本框的值。如何去做。提前致謝。

+0

'ingrds [num]'從哪裏來? – Ibu

回答

0
function remove() 
{ 
var foo = document.getElementById('fooBar'); 
var value = foo.value; 
alert(value); // will show you the value for debugging purpose 
foo.removeChild(dId); 
} 

輸入單元能使用input.value屬性有其值的訪問。 textarea元素(文本框)也是如此。

編輯

"<a href="javascript:remove('+divIdName+')">Remove</a>" 

可改爲

"<a href="javascript:remove('+ingrds[num]+')">Remove</a>" 

沒有你的函數CA使用參數

function remove(id) 
    { 
    var foo = document.getElementById(id); // selects the input element 
    var value = foo.value; 
    foo.removeChild(dId); 
    } 
+0

@lbu:foobar是一個div。我已經添加了許多div作爲子節點。該子節點具有文​​本框。我想獲得id爲dId的特定子節點的文本框的值。 – user735399

+0

看到我的編輯,應該工作 – Ibu

+0

謝謝。但是我在創建新的文本框時添加了div。因此你編輯的代碼也不起作用。 – user735399

0

只是使用innerHTML

var foo = document.getElementById('fooBar'); 
var fooHtml = foo.innerHTML; 
foo.removeChild(dId); 
+0

:fooHtml給出了所有添加的文本框的內部html。我想要特定的孩子,其ID已經通過刪除功能。 – user735399

0

你需要拉的價值。你只是選擇目前的元素

function remove() 
{ 
var foo = document.getElementById('fooBar').value; 
foo.removeChild(dId); 
}