JScript代码中少了这个:
function $s(n){return document.getElementsByName(n);}关键是里面的这一句:cm.length。火狐下可以取到新增的表单,并重新计算此值,而IE6下不能,很郁闷!附上HTML里的全部内容:
<script type="text/javascript">
function $s(n){return document.getElementsByName(n);}
function addEle(){
var cm = $s("miaoshu");
cm[cm.length-1].onkeyup = function(){
if(parseInt(this.lid)==parseInt(cm.length)-1 || ("undefined"==typeof(this.lid) && cm.length<3)){
var newEle1 = document.createElement("input");
newEle1.type = "text";
newEle1.name = "miaoshu";
newEle1.size = "30";
newEle1.lid = cm.length;
var newEle2 = document.createElement("li");
newEle2.appendChild(newEle1);
cm[cm.length-1].parentNode.parentNode.appendChild(newEle2);
addEle();
}
};
}
window.onload = function(){
addEle();
};
</script>
<ol>
<li><input type="text" name="miaoshu" size="30" /></li>
<li><input type="text" name="miaoshu" size="30" /></li>
</ol>
function $s(n){return document.getElementsByName(n);}关键是里面的这一句:cm.length。火狐下可以取到新增的表单,并重新计算此值,而IE6下不能,很郁闷!附上HTML里的全部内容:
<script type="text/javascript">
function $s(n){return document.getElementsByName(n);}
function addEle(){
var cm = $s("miaoshu");
cm[cm.length-1].onkeyup = function(){
if(parseInt(this.lid)==parseInt(cm.length)-1 || ("undefined"==typeof(this.lid) && cm.length<3)){
var newEle1 = document.createElement("input");
newEle1.type = "text";
newEle1.name = "miaoshu";
newEle1.size = "30";
newEle1.lid = cm.length;
var newEle2 = document.createElement("li");
newEle2.appendChild(newEle1);
cm[cm.length-1].parentNode.parentNode.appendChild(newEle2);
addEle();
}
};
}
window.onload = function(){
addEle();
};
</script>
<ol>
<li><input type="text" name="miaoshu" size="30" /></li>
<li><input type="text" name="miaoshu" size="30" /></li>
</ol>
var newEle1 = document.createElement("input");
newEle1.type = "text";
newEle1.name = "miaoshu";
newEle1.size = "30";
newEle1.lid = cm.length;*/var newEle1 = document.createElement("<input type='text' name='miaoshu' />");
newEle1.size = "30";
newEle1.lid = cm.length;
你要在ie和ff下分开创建
ie下如2楼
ff下就用你自己的