2011-05-08 92 views
1

我想在窗體中的動態位置添加幾個文本框。在動態位置在JavaScript中添加文本框

說這句話enter image description here

我的JavaScript是這樣的:

function addRow(tableID) { 

     var table = document.getElementById(tableID); 

     var rowCount = table.rows.length; 
     var row = table.insertRow(rowCount); 

     var cell1 = row.insertCell(0); 
     var element1 = document.createElement('<input type="checkbox" name="chk">'); 
     cell1.appendChild(element1); 

     var cell4 = row.insertCell(3); 
     var element4 = document.createElement('<INPUT type="text" name="SubpartID"/>'); 
     cell4.appendChild(element4); 

     var cell5 = row.insertCell(4); 
     var element5 = document.createElement('<INPUT type="text" name="Quantity" value="1" />'); 
     cell5.appendChild(element5); 

    } 

但這個腳本的問題是,當我點擊「添加分部輸入行」按鈕,我能看到添加了新行,但僅限於此複選框。

我猜cell4.appendChild(element4);cell5.appendChild(element5);不起作用。

所以輸出看起來像這樣,

enter image description here

能否請你幫忙嗎?

+0

如果您使用的是Firebug或Google Chrome瀏覽器,在運行此代碼時是否確認沒有錯誤? – Blender 2011-05-08 03:51:05

回答

0

似乎你正在使用document.createElement錯誤的方式。你需要這樣做:

var element5 = document.createElement('input'); 
    element5.type = 'text'; 
    element5.name = 'Quantity'; 
    element5.value = 1; 
cell5.appendChild(element5); 

其餘應該是相同的,除了具有不同的屬性和值。

+0

我明白了這一點。我應該有一個虛擬的孩子在行。 'row.insertCell(1);'和'row.insertCell(2);' – narayanan 2011-05-08 17:52:07