我正在使用 javascript 生成一个动态字段集。对于添加字段,我使用以下函数(这个函数实际上添加了多个字段)
//添加测试
function addTest() {
var location = document.getElementById('addTestLocation');
var num = document.getElementById('addTestCount');
var newnum = (document.getElementById('addTestCount').value -1)+ 2;
num.value = newnum;
location.innerHTML += "<div id='testContainer_"+newnum+"'><label for='test_"+newnum+"'>Test name: </label><input type='text' name='test_"+newnum+"' id='test_"+newnum+"'/> <a href='javascript: removeTest("+newnum+")'>- Remove test</a><br/><br/><span id='addObjectLocation'></span><br/><select id='select_"+newnum+"'><option>True or False</option><option>Single choice</option><option>Multiple choice</option><option>Short definition</option><option>Fill in the blanks</option></select><input type='hidden' id='addObjectCount' value='0'/> <a href='javascript:addObject();'>+ add question</a><br/><br/><hr/><br/></div>";
}
我使用innerHTML
而不是append
因为我必须附加很多代码,这样标记就短得多了。
现在,我的问题是,每当我添加(或删除)一个字段时,来自其他动态生成的数据的所有数据都会丢失。我怎样才能解决这个问题?保存该值然后将其添加到每个字段将再次,在我的情况下非常复杂。有任何想法吗?