2011-09-06 81 views
9

我有一個通過基於多文件上傳器(swfupload)的ajax生成的表單。它在每個上傳的文件完成時向給定的dom元素添加更多的表單元素。這因此給我一個問題。如果我選擇了5個文件上傳,第一個文件將生成一個表單,我將開始輸入數據,但是,當第二個文件完成上傳時,它會清除表單元素中的前一個輸入數據,並附加第二個表單元素。在不破壞表單內容的情況下添加到innerHTML

我想這是因爲IM使用:

document.getElementById('test').innerHTML = document.getElementById('test').innerHTML + newformelements; 

我覺得做上述不保留在任何形式輸入的數據,僅僅是HTML本身。

那麼,如何在不破壞已經放入表單域的內容的情況下追加到此元素?基於多上傳器,可能的孩子數量是動態的。

+1

你不會相信這一點,但實際上有DOM操作功能爲':P',不要使用innerHTML - 應避免通過innerHTML的DOM娛樂! –

+0

小心泄漏? – David

+0

我認爲你在誤解innerHTML的用途。你是否需要一個有些動物的表格,根據新的數據動態擴展? – T9b

回答

6

你打算使用jQuery嗎?如果是的話那麼你可以輕鬆地做這樣的事情

$("#divid").append("html you want to append"); 
6

使用DOM操作,在這種情況下:Node.appendChild[docs]

innerHTML總是銷燬和重新創建元素。

0

創建一個新的元素,設置它的innerHTML,然後將其附加到窗體的子節點的末尾。

相關問題