2011-09-06 85 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,然后将其附加到窗体的子节点的末尾。

相关问题