我有一个基于多文件上传器(swfupload)的ajax生成的表单。在完成上传的每个文件后,它会向给定的dom元素添加更多表单元素。这因此给我一个问题。如果我选择上传5个文件,第一个文件将生成一个表格,我将开始输入数据,但是,当第二个文件完成上传时,它会清除表格元素中先前输入的数据并附加第二个表单元素
我认为这是因为我正在使用:
document.getElementById('test').innerHTML = document.getElementById('test').innerHTML + newformelements;
我认为上述操作不会在表单中保留任何输入的数据,只保留HTML本身。
那么,如何在不破坏已经放入表单字段的内容的情况下附加到此元素?根据多重上传者,可能的孩子数量是动态的。
答案 0 :(得分:6)
使用DOM操作,在这种情况下:Node.appendChild
[docs]。
innerHTML
将始终销毁并重新创建元素。
答案 1 :(得分:6)
您是否愿意使用jquery?如果是,那么您可以轻松地做这样的事情
$("#divid").append("html you want to append");
答案 2 :(得分:0)
创建一个新元素,设置其innerHTML,而不是将其附加到表单'children'的末尾。