添加到innerHTML而不破坏表单内容

Dav*_*vid 10 html javascript ajax dom innerhtml

我有一个基于多文件上传器(swfupload)的ajax生成的表单.在完成上传的每个文件后,它会向给定的dom元素添加更多表单元素.这因此给我一个问题.如果我选择上传5个文件,第一个文件将生成一个表格,我将开始输入数据,但是,当第二个文件完成上传时,它会清除表格元素中先前输入的数据并附加第二个表单元素.

我想这是因为我使用:

document.getElementById('test').innerHTML = document.getElementById('test').innerHTML + newformelements;
Run Code Online (Sandbox Code Playgroud)

我认为做上述操作并不会在表单中保留任何输入的数据,只保留HTML本身.

那么,如何在不破坏已经放入表单字段的内容的情况下附加到此元素呢?基于多重上传者,可能的孩子数是动态的.

Fel*_*ing 6

在这种情况下使用DOM操作:Node.appendChild [docs].

innerHTML永远破坏和重新创建元素.


Par*_*esh 6

你打开使用jquery吗?如果是,那么您可以轻松地做这样的事情

$("#divid").append("html you want to append");
Run Code Online (Sandbox Code Playgroud)