动态创建文本框

发布于 2024-11-08 19:43:32 字数 1077 浏览 0 评论 0原文

当我动态创建文本框时,我可以添加任何不 的文本框,而我只删除最后一个文本框,之后被删除 抛出异常。

<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 抛出错误:删除一个文本框后,如 EchoError:NOT_FOUND_ERR:DOM 异常 8

while i create textbox dynamically i can able to add any no
of textbox while i delete only last textbox got deleted after it
an throws exception.

<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: after deleting one text box like
EchoError: NOT_FOUND_ERR: DOM Exception 8

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

放我走吧 2024-11-15 19:43:32

所以你想要添加和删除文本框。
最新添加的文本框应该被删除吗?

所以首先你已经在 dom 中有一个文本框女巫会与你的冲突
命名

<input type="text" id="text" id="text1" value=""/>

这是手动添加 qoutes 的一个尝试吗?因为那不是 id 的一部分
元素的

var a="\"";
a+="text"+(i);
a+="\"";

名称只需正常命名

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 方法删除数组中最后添加的项目

so you whant to add and remove textboxes.
and the latest textbox added shuld be removed?

so first you alreddy have a textbox in the dom witch will colide with your
naming

<input type="text" id="text" id="text1" value=""/>

is this an atemt to manualy add qoutes ? becus thats not part of the id
of the element

var a="\"";
a+="text"+(i);
a+="\"";

just give it the name normaly

var bal = document.getElementById("text" + i);

and you dont have to mess around with dom ids you can store
dom elements as normal objects so
something like this works fine

 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());
 }

the pop method removes the last added item in the array

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文