求教一个动态输入框的问题,谢谢大家了。。 var oChild=document.getElementById("to_mail").childNodes(id-1); //没ff环境 你改下看看 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 发现思路错了,删除传递的ID本身有问题。我的 ID 是根据子节点的数量生成的。比如我生成的1 2 3 4,现删除了2.然后我点删除 4,这时候子节点只有三个了,就出错了。我再添加了一个,那么我新添加的按照我写的 新添加的ID是 4,重复了。问题是找到了,可是还是不知道怎么解决。请各位高手指点下啊,=。=不太会写JAVASCRIPT <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE> 追加和删除表格 </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""><SCRIPT LANGUAGE="JavaScript"> <!--function doAppend(){ var text_num = parseInt(document.getElementById("to_mail").childNodes.length)+1; var new_input = "<li class='invit_table_d'><input name='first_name' type='text'class='input' size='13'/></li>"; new_input += "<li class='invit_table_b'><input name='last_name' type='text'class='input' size='13'/></li>"; new_input += "<li class='invit_table_c'><input name='e_mail' type='text'class='input' size='45'/></li>"; new_input += "<li class='invit_table_a'><a href='#' onclick='dodel(this);' class='link_a'>[删除此行]</a></li>"; var tmpObj; tmpObj=document.createElement("ul"); tmpObj.innerHTML=new_input document.getElementById("to_mail").appendChild(tmpObj); }function dodel(obj){ document.getElementById("to_mail").removeChild(obj.parentNode.parentNode);} //--> </SCRIPT> </HEAD> <BODY> <div class="invit_index_table" id="to_mail"> <ul> <li class="invit_table_d"> <input name="first_name" type="text"class="input" size="13"/> </li> <li class="invit_table_b"> <input name="last_name" type="text"class="input" size="13"/> </li> <li class="invit_table_c"> <input name="e_mail" type="text"class="input" size="45"/> </li> </ul> <ul> <li class="invit_table_d"> <input name="first_name" type="text"class="input" size="13"/> </li> <li class="invit_table_b"> <input name="last_name" type="text"class="input" size="13"/> </li> <li class="invit_table_c"> <input name="e_mail" type="text"class="input" size="45"/> </li> </ul> </div> <div class="clear"> </div> <div class="invit_index_title1"> <a href="javascript:doAppend();" class="link_a">[+添加更多] </a> </div> </BODY></HTML> 把var text_num = parseInt(document.getElementById("to_mail").childNodes.length)+1; 改成var text_num = parseInt(document.getElementById("to_mail").childNodes.length); 应该就可以了吧。下面是完整的代码贴了一下。<script language="javascript">function doAppend(){ var text_num = parseInt(document.getElementById("to_mail").childNodes.length); var new_input = "<li class='invit_table_d'><input name='first_name' type='text'class='input' size='13'/></li>"; new_input += "<li class='invit_table_b'><input name='last_name' type='text'class='input' size='13'/></li>"; new_input += "<li class='invit_table_c'><input name='e_mail' type='text'class='input' size='45'/></li>"; new_input += "<li class='invit_table_a'><a href='javascript:dodel("+text_num+");' class='link_a'>[删除此行]</a></li>"; var tmpObj; tmpObj=document.createElement("ul"); tmpObj.innerHTML=new_input document.getElementById("to_mail").appendChild(tmpObj); }function dodel(id){ var oChild=document.getElementById("to_mail").children(id-1); document.getElementById("to_mail").removeChild(oChild);} </script> <div class="invit_index_table" id="to_mail"> <ul> <li class="invit_table_d"> <input name="first_name" type="text"class="input" size="13"/> </li> <li class="invit_table_b"> <input name="last_name" type="text"class="input" size="13"/> </li> <li class="invit_table_c"> <input name="e_mail" type="text"class="input" size="45"/> </li> </ul> <ul> <li class="invit_table_d"> <input name="first_name" type="text"class="input" size="13"/> </li> <li class="invit_table_b"> <input name="last_name" type="text"class="input" size="13"/> </li> <li class="invit_table_c"> <input name="e_mail" type="text"class="input" size="45"/> </li> </ul> </div> <div class="clear"> </div> <div class="invit_index_title1"> <a href="javascript:doAppend();" class="link_a">[+添加更多] </a> </div> <script language="javascript">function doAppend(){ var text_num = parseInt(document.getElementById("to_mail").childNodes.length); var new_input = "<li class='invit_table_d'><input name='first_name' type='text'class='input' size='13'/></li>"; new_input += "<li class='invit_table_b'><input name='last_name' type='text'class='input' size='13'/></li>"; new_input += "<li class='invit_table_c'><input name='e_mail' type='text'class='input' size='45'/></li>"; new_input += "<li class='invit_table_a'><a href='javascript:dodel("+text_num+");' class='link_a'>[删除此行]</a></li>"; var tmpObj; tmpObj=document.createElement("ul"); tmpObj.innerHTML=new_input document.getElementById("to_mail").appendChild(tmpObj); }function dodel(id){ var oChild=document.getElementById("to_mail").childNodes[id]; document.getElementById("to_mail").removeChild(oChild);} </script> <div class="invit_index_table" id="to_mail"> <ul> <li class="invit_table_d"> <input name="first_name" type="text"class="input" size="13"/> </li> <li class="invit_table_b"> <input name="last_name" type="text"class="input" size="13"/> </li> <li class="invit_table_c"> <input name="e_mail" type="text"class="input" size="45"/> </li> </ul> <ul> <li class="invit_table_d"> <input name="first_name" type="text"class="input" size="13"/> </li> <li class="invit_table_b"> <input name="last_name" type="text"class="input" size="13"/> </li> <li class="invit_table_c"> <input name="e_mail" type="text"class="input" size="45"/> </li> </ul> </div> <div class="clear"> </div> <div class="invit_index_title1"> <a href="javascript:doAppend();" class="link_a">[+添加更多] </a> </div> 测试了一下,还是s_liangchao1s的方法好用。谢谢 各位了。 图片加载完后执行脚本如何写? mif.tree支持Ajax吗,用过mootools的请进 这段代码是在干嘛?调用一个函数?声明一个class? 急!!!!object单击事件 求一计算表达式的与正则! 网站点击数,当天点击数、月点击数、点击总数 关于一个用正则表达式表达ID问题?? 有谁解决过这样一个问题?回者有分! 怎 样控制文本框为改填栏位?100分求解. 如果有能用IE来听的歌,是否一定能拷得下来,flash也一样吧!! js的dom中的replaceChild方法不成功,请大家看一下 一个基础的xml问题 不知道错哪里 请大虾们指教!!!!
然后我点删除 4,这时候子节点只有三个了,就出错了。
我再添加了一个,那么我新添加的按照我写的 新添加的ID是 4,重复了。问题是找到了,可是还是不知道怎么解决。请各位高手指点下啊,=。=不太会写JAVASCRIPT
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 追加和删除表格 </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function doAppend()
{
var text_num = parseInt(document.getElementById("to_mail").childNodes.length)+1;
var new_input = "<li class='invit_table_d'><input name='first_name' type='text'class='input' size='13'/></li>";
new_input += "<li class='invit_table_b'><input name='last_name' type='text'class='input' size='13'/></li>";
new_input += "<li class='invit_table_c'><input name='e_mail' type='text'class='input' size='45'/></li>";
new_input += "<li class='invit_table_a'><a href='#' onclick='dodel(this);' class='link_a'>[删除此行]</a></li>"; var tmpObj;
tmpObj=document.createElement("ul");
tmpObj.innerHTML=new_input
document.getElementById("to_mail").appendChild(tmpObj);
}function dodel(obj)
{
document.getElementById("to_mail").removeChild(obj.parentNode.parentNode);
}
//-->
</SCRIPT>
</HEAD> <BODY>
<div class="invit_index_table" id="to_mail">
<ul>
<li class="invit_table_d"> <input name="first_name" type="text"class="input" size="13"/> </li>
<li class="invit_table_b"> <input name="last_name" type="text"class="input" size="13"/> </li>
<li class="invit_table_c"> <input name="e_mail" type="text"class="input" size="45"/> </li>
</ul>
<ul>
<li class="invit_table_d"> <input name="first_name" type="text"class="input" size="13"/> </li>
<li class="invit_table_b"> <input name="last_name" type="text"class="input" size="13"/> </li>
<li class="invit_table_c"> <input name="e_mail" type="text"class="input" size="45"/> </li>
</ul>
</div>
<div class="clear"> </div>
<div class="invit_index_title1"> <a href="javascript:doAppend();" class="link_a">[+添加更多] </a> </div> </BODY>
</HTML>
var text_num = parseInt(document.getElementById("to_mail").childNodes.length);
应该就可以了吧。
下面是完整的代码贴了一下。
<script language="javascript">
function doAppend()
{
var text_num = parseInt(document.getElementById("to_mail").childNodes.length);
var new_input = "<li class='invit_table_d'><input name='first_name' type='text'class='input' size='13'/></li>";
new_input += "<li class='invit_table_b'><input name='last_name' type='text'class='input' size='13'/></li>";
new_input += "<li class='invit_table_c'><input name='e_mail' type='text'class='input' size='45'/></li>";
new_input += "<li class='invit_table_a'><a href='javascript:dodel("+text_num+");' class='link_a'>[删除此行]</a></li>"; var tmpObj;
tmpObj=document.createElement("ul");
tmpObj.innerHTML=new_input
document.getElementById("to_mail").appendChild(tmpObj);
}function dodel(id)
{
var oChild=document.getElementById("to_mail").children(id-1);
document.getElementById("to_mail").removeChild(oChild);
} </script>
<div class="invit_index_table" id="to_mail">
<ul>
<li class="invit_table_d"> <input name="first_name" type="text"class="input" size="13"/> </li>
<li class="invit_table_b"> <input name="last_name" type="text"class="input" size="13"/> </li>
<li class="invit_table_c"> <input name="e_mail" type="text"class="input" size="45"/> </li>
</ul>
<ul>
<li class="invit_table_d"> <input name="first_name" type="text"class="input" size="13"/> </li>
<li class="invit_table_b"> <input name="last_name" type="text"class="input" size="13"/> </li>
<li class="invit_table_c"> <input name="e_mail" type="text"class="input" size="45"/> </li>
</ul>
</div>
<div class="clear"> </div>
<div class="invit_index_title1"> <a href="javascript:doAppend();" class="link_a">[+添加更多] </a> </div>
function doAppend()
{
var text_num = parseInt(document.getElementById("to_mail").childNodes.length);
var new_input = "<li class='invit_table_d'><input name='first_name' type='text'class='input' size='13'/></li>";
new_input += "<li class='invit_table_b'><input name='last_name' type='text'class='input' size='13'/></li>";
new_input += "<li class='invit_table_c'><input name='e_mail' type='text'class='input' size='45'/></li>";
new_input += "<li class='invit_table_a'><a href='javascript:dodel("+text_num+");' class='link_a'>[删除此行]</a></li>"; var tmpObj;
tmpObj=document.createElement("ul");
tmpObj.innerHTML=new_input
document.getElementById("to_mail").appendChild(tmpObj);
}function dodel(id)
{
var oChild=document.getElementById("to_mail").childNodes[id];
document.getElementById("to_mail").removeChild(oChild);
} </script>
<div class="invit_index_table" id="to_mail">
<ul>
<li class="invit_table_d"> <input name="first_name" type="text"class="input" size="13"/> </li>
<li class="invit_table_b"> <input name="last_name" type="text"class="input" size="13"/> </li>
<li class="invit_table_c"> <input name="e_mail" type="text"class="input" size="45"/> </li>
</ul>
<ul>
<li class="invit_table_d"> <input name="first_name" type="text"class="input" size="13"/> </li>
<li class="invit_table_b"> <input name="last_name" type="text"class="input" size="13"/> </li>
<li class="invit_table_c"> <input name="e_mail" type="text"class="input" size="45"/> </li>
</ul>
</div>
<div class="clear"> </div>
<div class="invit_index_title1"> <a href="javascript:doAppend();" class="link_a">[+添加更多] </a> </div>