0

我有以下 JavaScript 动态生成文本输入并将它们插入到 div 中。此代码工作正常,但如果我在字段中键入文本,然后单击按钮添加另一个字段,我会丢失在第一个字段中键入的文本。

我做了一个jFiddle - 但由于某种原因它不起作用。不过,相同的代码在我的浏览器中运行良好。

这是有问题的功能:

var optCount = 0;
function addOption(type){
    var cont = document.getElementById('new'+type+'Opts');
    cont.innerHTML = cont.innerHTML + "<span style='display:block;' id='opt" + optCount + "'><input type='text' style='width:80%;' /><a href='#' style='color:red; text-decoration:none; font-size:.6em;' onclick=\"return delOpt('opt" + optCount + "');\">[x]</a><br /></span>";
    optCount++;
    return false;
}

添加其他字段时如何维护现有字段的值?

4

1 回答 1

2

不要每次都替换 div 的全部内容。相反,只需创建新选项并附加它。

var cont = document.getElementById("new"+type+"Opts");
var span = document.createElement('span');
span.className = 'block';
span.id = "opt" + optCount;
span.innerHTML = "<input type='text' class='width80' /><a href='#' class='dellink' onclick=\"return delOpt('opt" + optCount + "');\">[x]</a><br />";
optCount++;
cont.appendChild(span);

http://jsfiddle.net/ExplosionPIlls/PBp4g/5/

于 2013-05-07T14:40:15.953 回答