我正在尝试使用Javascript按钮单击创建TextBoxes,然后在另一个按钮单击,我试图删除它们。但是当我尝试删除TextBox时出现问题。按钮单击始终创建文本框,但我尝试删除时不会始终如一地发生。 Plz帮助!!
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script>
var i=0;
function create_txt()
{
var a=document.createElement("div");
a.setAttribute("id",'d'+i);
var b=document.createElement("input");
b.setAttribute("id",'t'+i);
a.appendChild(b);
i++;
var c=document.getElementById("pa1");
c.appendChild(a);
}
function delete_txt()
{
var x=document.getElementById('d'+i);
var y=document.getElementById('t'+i);
i--;
x.removeChild(y);
}
</script>
</head>
<body>
<div id="pa1"></div>
<input type="button" onclick="create_txt()" value="Create" onclick="create_txt()"/>
<input type="button" onclick="delete_txt()" value="Delete" onclick="delete_txt()" />
</body>
</html>
答案 0 :(得分:1)
您的全局var i
很可能是罪魁祸首 - 在创建文本框之后,您会增加i
,但是当您调用delete
时,您永远不会递减i
直到之后。没有匹配的id!在获取要删除的文本框之前尝试递减i
:
function delete_txt()
{
i--;
var x=document.getElementById('d'+i);
var y=document.getElementById('t'+i);
x.removeChild(y);
}
答案 1 :(得分:0)
你可以通过将DIV和INPUT附加到一个独特的DIV(#myInputs)中来完全删除我吗?删除时,您只需在#myInputs中找到最后一组DIV / INPUT。