js文件:
--------------------------------------------------
var n=3;
var sign=0;
function addline(){
    alert (sign); 
    if (sign<n){
    var t = opener.document.getElementById("table1");
var tr = t.insertRow();
tr.insertCell(0).innerHTML="<input type='text' size='13' name='code"+sign+"' readonly>";
tr.insertCell(1).innerHTML="<input type='text' size='13' name='name"+sign+"' readonly>";
tr.insertCell(2).innerHTML="&nbsp;<input type='text' size='4' name='is_chinese"+sign+"' readonly>&nbsp;";
tr.insertCell(3).innerHTML="&nbsp;<input type='text' size='4' name='is_abouttime"+sign+"' readonly>&nbsp;";
tr.insertCell(4).innerHTML="<input type='text' size='4' name='is_intime"+sign+"' readonly>";
tr.insertCell(5).innerHTML="<a href=javascript: onclick=attemperset('channel"+sign+"')>调度设置</a>";
tr.insertCell(6).innerHTML="<a href=javascript: onclick=del('"+sign+"')>删除</a>";
}
    else{
     alert ("暂时不能超过3条记录");
     return false;
    }
}
function channel_add(code,chinese,is_chinese,abouttime,intime){
if (eval("opener.document.all.code"+sign+".value")==""){
eval("opener.document.all.code"+sign+".value=code");
eval("opener.document.all.name"+sign+".value=chinese");
eval("opener.document.all.is_chinese"+sign+".value=is_chinese");
eval("opener.document.all.is_abouttime"+sign+".value=abouttime");
eval("opener.document.all.is_intime"+sign+".value=intime");
sign++;      
}
}

解决方案 »

  1.   

    要求从父窗口打开子窗口,再由子窗口控制父窗口中id=table1的行动态添加并同时添加行里的input的value.并且行数不能超过3。研究了一晚上没解决,希望大家帮忙。高分酬谢。
      

  2.   

    我的js能够添加1行并且成功赋值,但是第二行就出问题,我看了一下好像是sign出问题,可不知道怎么解决。
      

  3.   

    因为,每次打开页面后,你的sign都被赋为0了.
    应该放在父窗口父窗口:1.html<script>
    var sign=0; //全局变量
    </script>
    <a href="JavaScript:void window.open('11.html','null','width=400,height=600,scrollbars=yes');">添加</a>
    <table cellpadding="0" cellspacing="0" width="700" id="table1">
    </table>
    子窗口:11.html<script language="javascript">
    var n=3;
    function addline(){    if (window.opener.sign<n){
            var t = opener.document.getElementById("table1");
                var tr = t.insertRow();
                tr.insertCell(0).innerHTML="<input type='text' size='13' name='code"+window.opener.sign+"' readonly>";
                tr.insertCell(1).innerHTML="<input type='text' size='13' name='name"+window.opener.sign+"' readonly>";
                tr.insertCell(2).innerHTML="&nbsp;<input type='text' size='4' name='is_chinese"+window.opener.sign+"' readonly>&nbsp;";
                tr.insertCell(3).innerHTML="&nbsp;<input type='text' size='4' name='is_abouttime"+window.opener.sign+"' readonly>&nbsp;";
                tr.insertCell(4).innerHTML="<input type='text' size='4' name='is_intime"+window.opener.sign+"' readonly>";
                tr.insertCell(5).innerHTML="<a href=javascript: onclick=attemperset('channel"+window.opener.sign+"')>调度设置</a>";
                tr.insertCell(6).innerHTML="<a href=javascript: onclick=del('"+window.opener.sign+"')>删除</a>";
        }
        else{
            alert ("暂时不能超过3条记录");
            return false;
        }
    }
    function channel_add(code,chinese,is_chinese,abouttime,intime){
        if (eval("opener.document.all.code"+window.opener.sign+".value")==""){
            eval("opener.document.all.code"+window.opener.sign+".value=code");
            eval("opener.document.all.name"+window.opener.sign+".value=chinese");
            eval("opener.document.all.is_chinese"+window.opener.sign+".value=is_chinese");
            eval("opener.document.all.is_abouttime"+window.opener.sign+".value=abouttime");
            eval("opener.document.all.is_intime"+window.opener.sign+".value=intime");
            window.opener.sign++; //改变父窗口的值.
        }
    }
    addline();
    channel_add("343","34324","342r","323434","234324");
    alert("添加成功");
    </script>
      

  4.   

    你可以用:
    if(opener.document.getElementById("table1").rows.length<3)){
       //添加操作
    }
    来判断是否有三行~