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>

解决方案 »

  1.   

    IE下试试这样/*
    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;
      

  2.   

    ie下不能给input赋name值
    你要在ie和ff下分开创建
    ie下如2楼
    ff下就用你自己的