当我动态创建文本框时,我可以添加任何否 文本框的时候我只删除了最后一个文本框后被删除了 抛出异常。
<html>
<head>My page </html>
<body>
<div id="firstdiv">
<input type="text" id="text" id="text1" value=""/>
<input type="button" id="butt" name="it's okay" value="+" onclick="text_add()"/>
<input type="button" id="butt1" name="it's okay" value="-" nclick="text_remove()"/>
</div>
</body>
<script type="text/javascript">
var i=0;
function text_add()
{
++i;
var bal=document.createElement("input")
bal.setAttribute("type","text");
bal.setAttribute("id","text"+i);
bal.setAttribute("name","bala");
firstdiv.appendChild(bal);
}
function text_remove()
{
try{
var a="\"";
a+="text"+(i);
a+="\"";
alert(a);
var bal=document.getElementById(a);
firstdiv.removeChild(bal);
--i;
}catch(e)
{
alert("Echo"+e);
}
}
</script>
</html>
chorme throws error:删除一个文本框之后 EchoError:NOT_FOUND_ERR:DOM异常8
答案 0 :(得分:1)
所以你想添加和删除文本框。 并删除了最新添加的文本框?
所以首先,你在alomdy中有一个文本框,巫婆会与你的 命名
<input type="text" id="text" id="text1" value=""/>
这是一个手动添加qoutes的方法吗?因为这不是身份证的一部分 元素
var a="\"";
a+="text"+(i);
a+="\"";
只要给它命名为normaly
var bal = document.getElementById("text" + i);
你不必乱用你可以储存的dom id dom元素作为普通对象 像这样的东西工作正常
var textElements = [];
var firstdiv = document.getElementById("firstdiv");
function text_add() {
var bal = document.createElement("input");
bal.setAttribute("type","text");
bal.setAttribute("name","bala");
firstdiv.appendChild(bal);
textElements.push(bal);
}
function text_remove() {
firstdiv.removeChild(textElements.pop());
}
pop方法删除数组中最后添加的项