Javascript 在动态生成的字段中维护输入值
我有下面的JavaScript,它动态生成文本输入并将它们插入到div中。这段代码运行良好,但是如果我在字段中键入文本,然后单击按钮添加另一个字段,我将丢失在第一个字段中键入的文本 我做了一个-但由于某种原因它不起作用。不过,同样的代码在我的浏览器中也可以正常工作 下面是有问题的函数:Javascript 在动态生成的字段中维护输入值,javascript,html,forms,dynamically-generated,Javascript,Html,Forms,Dynamically Generated,我有下面的JavaScript,它动态生成文本输入并将它们插入到div中。这段代码运行良好,但是如果我在字段中键入文本,然后单击按钮添加另一个字段,我将丢失在第一个字段中键入的文本 我做了一个-但由于某种原因它不起作用。不过,同样的代码在我的浏览器中也可以正常工作 下面是有问题的函数: var optCount = 0; function addOption(type){ var cont = document.getElementById('new'+type+'Opts');
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;
}
var optCount=0;
函数addOption(类型){
var cont=document.getElementById('new'+type+'Opts');
cont.innerHTML=cont.innerHTML+“
”;
optCount++;
返回false;
}
添加其他字段时,如何维护现有字段的值?不要每次都替换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);
var cont=document.getElementById(“新建”+类型+“选项”);
var span=document.createElement('span');
span.className='block';
span.id=“opt”+optCount;
span.innerHTML=“
”;
optCount++;
续:儿童(span);
它找不到
addOption
,因为它只在文档就绪时添加,并且在加载dom时被引用。只要将左上角的JSFIDLE选项更改为“No wrap-in”,代码就会执行。(注意,这并不能解决你的问题,只是解决了你的问题)@ScottMermelstein谢谢!谢谢,这正是我需要的