我有兩個函數來添加和刪除包含表單輸入元素的錶行。他們都工作得很好,但我有一個問題,我需要顯示一個刪除按鈕輸入只在隨後創建的錶行。我的兩個功能是爲如下:Javascript DOM - 將表單元素添加到新創建的appendChild中?
function addRow(table_id){
var clone;
var rows=document.getElementById(table_id).getElementsByTagName('tr');
var index=rows.length;
var tbo=document.getElementById(table_id).getElementsByTagName('tbody')[0];
clone=rows[index-1].cloneNode(true);
tbo.appendChild(clone);
}
function delRow(table_id,button){
var row = button.parentNode.parentNode;
var tbo = document.getElementById(table_id).getElementsByTagName('tbody')[0];
tbo.removeChild(row);
}
和HTML內容:
<form>
<table id="mytab">
<tr>
<td>Upload File <input type="file" name="uploadfile[]" onchange="addRow('mytab')" /> <input name="del_row" type="button" value="Remove Row" onclick="delRow('mytab',this)"/></td>
</tr>
</table>
</form>
我絕不是一個JavaScript專家 - 更多的新手 - 所以我掙扎上來用解決方案。
我也會這樣做,但我很習慣jQuery,我忘記了input.onclick分配處理程序的方式是否完全跨瀏覽器兼容。 – tvanfosson 2009-01-31 18:04:05