在不破坏表单内容的情况下添加到innerHTML
问题描述:
我有一个通过基于多文件上传器(swfupload)的ajax生成的表单。它在每个上传的文件完成时向给定的dom元素添加更多的表单元素。这因此给我一个问题。如果我选择了5个文件上传,第一个文件将生成一个表单,我将开始输入数据,但是,当第二个文件完成上传时,它会清除表单元素中的前一个输入数据,并附加第二个表单元素。在不破坏表单内容的情况下添加到innerHTML
我想这是因为IM使用:
document.getElementById('test').innerHTML = document.getElementById('test').innerHTML + newformelements;
我觉得做上述不保留在任何形式输入的数据,仅仅是HTML本身。
那么,如何在不破坏已经放入表单域的内容的情况下追加到此元素?基于多上传器,可能的孩子数量是动态的。
答
你打算使用jQuery吗?如果是的话那么你可以轻松地做这样的事情
$("#divid").append("html you want to append");
答
创建一个新的元素,设置它的innerHTML,然后将其附加到窗体的子节点的末尾。
你不会相信这一点,但实际上有DOM操作功能为':P',不要使用innerHTML - 应避免通过innerHTML的DOM娱乐! –
小心泄漏? – David
我认为你在误解innerHTML的用途。你是否需要一个有些动物的表格,根据新的数据动态扩展? – T9b