//添加行
function build_row(){  
    row_index++;  
    var new_row=Table1.insertRow(Table1.rows.length);  
    new_row.setAttribute("id", "row"+row_index);   
    var new_col=new_row.insertCell(0);  
    new_col.innerHTML="<input type='file' name='T1"+row_index+"' size='36' >";  
    var new_col=new_row.insertCell(1);  
    new_col.innerHTML="<input type='text' name='T2"+row_index+"' size='10' >";  
    var new_col=new_row.insertCell(2);  
    new_col.innerHTML="<input type='button' value='删除此行' name='B4"+row_index+"' LANGUAGE='javascript' onclick=\"delete_row('row"+row_index+ "')\">";  
    }  //跳转代码
function check_form(){  
         var i;  
         for(i=1;i<=Table1.rows.length-1;i++){  
                if (eval("form1.T1"+Table1.rows(i).id.substr(3)).value=="" || eval("form1.T2"+Table1.rows(i).id.substr(3)).value=="" ){  
            alert("请检查是否有文本框为空");  
            return false;  
                 }  
         }  
         var str="/sxbt/cickfile.do?tbnum="+String(Table1.rows.length-1);
   
         window.location=str;    
  }       <form id="form1" method="POST" action=""  onsubmit="return check_form()" >
==============================
跳转后的action 中 request.getParameter("T10") 为null  
大家看看什么问题  我这里先谢谢了 !

解决方案 »

  1.   

    var str="/sxbt/cickfile.do?tbnum="+String(Table1.rows.length-1); 
      
            window.location=str;这样的话你的cickfile.do里面只能获得tbnum="+String(Table1.rows.length-1)这些值
    因为你没有提交form表单    如果你需要的值在form表单里的话
    请将window.location=str;修改为:form1.action=str; form1.submit();
      

  2.   

    在window.location=str;之前alert一下T10的值看看还有一种情况可能是:你的这个表单控件不在form中。没有什么困难的话,可以再多贴点代码吗?
      

  3.   

    action中想得到T10的值,但从页面传过来的是tbnum的值,没有T10,所以T10是null
    如果改成
           var str="/sxbt/cickfile.do?T10="+String(Table1.rows.length-1); 
    就不会null了
      

  4.   

    楼主一定要搞清楚:你的控件是不是在form表单中提交的。1楼朋友说的不错
      

  5.   

    没有提交form表单   
      

  6.   


    <!-- 好好看看你的name等于什么!!! -->
     <input type='file' name='T1"+row_index+"' size='36' >
      

  7.   

    1楼 2 楼的不行 修改后form 拒绝访问
    3楼的说的有道理  控件不在form中 
    我做插入行 为的是动态传递  可是添加后又不在form中
    如何解决这个问题了!~~   想想办法啊 !
      

  8.   

    在form 中没有找见 T11  说没有定义!~
      

  9.   

    问题就是在row_index++;这句话上。如果你的row_index初始化是0,那你一上来什么都没做就给加1了,所以正常情况下。定义row_index这个变量后,你不可能有T10的元素。
    一般都是先用再加1,你这是啥都没干呢就先给家1了。
    自己跟踪一下这个变量就没问题了
      

  10.   

    ...不是哪个问题是 就是T11也找不到对象  
    nnerHTML 后form  变的不能提交了 
      

  11.   

    根据16楼的 能获取到form 和其中的值了 但是 form 不让提交  说不能访问!~
      

  12.   


    <%@ page language="java"  pageEncoding="gbk"%><html>  
    <head>  
    <title>输入文件路径和课程代号</title>  <style>  
    <!--  
    td           { font-size: 13pt }  
    -->  
    </style>  
    <script language="javascript">  
    <!--  
    var row_index=0;  
    //建立一个函数build_row()用于建立新的一行且增加的四个文本框为空  
    function build_row(){  
        row_index;  
        var new_row=Table1.insertRow(Table1.rows.length);  
        new_row.setAttribute("id", "row"+row_index);   
        var new_col=new_row.insertCell(0);  
        new_col.innerHTML="<input type='file' NAME='T1"+row_index+"' size='36'>";
        var new_col=new_row.insertCell(1);  
        new_col.innerHTML="<input type='text' NAME='T2"+row_index+"' size='10' >";  
        var new_col=new_row.insertCell(2);  
        new_col.innerHTML="<input type='button' value='删除此行' NAME='B4"+row_index+"' LANGUAGE='javascript' onclick=\"delete_row('row"+row_index+ "')\">";  
        row_index++;
        }  //建立一个函数delete_row用于删除一行  
    function delete_row(rname)   
    {  
        var i;  
        i=Table1.rows(rname).rowIndex;    
        Table1.deleteRow(i);  
        }  
    //建立一个函数check_form()用于检查文本框是否为空  
    function check_form(){  
             var i;  
             for(i=1;i<=Table1.rows.length-1;i++){  
                    if (eval("form1.T1"+Table1.rows(i).id.substr(3)).value=="" || eval("form1.T2"+Table1.rows(i).id.substr(3)).value=="" ){  
                alert("请检查是否有文本框为空");  
                return false;  
                     }  
             }  
            
            window.form1.submit();
             
      }            //-->  
    </script>  
    </head>    
    <body background="/sxbt/Images/home_bg10.gif">  
    <br><br><br><br><br><br><br>
    <center>
    <form  NAME="form1" method="get" action="/sxbt/cickfile.do"  onsubmit="return check_form()" >  <table border="2" width="52%" bordercolor="lightblue" cellspacing="0" cellpadding="0"  height="16" id="Table1" >  
      <tr>  
        <td width="40%"  align="center" bgcolor="#E6E6E6" height="16" >选择文件夹</td>  
        <td width="10%"  align="center" bgcolor="#E6E6E6" height="16">课程id号</td>  
        <td width="10%"  align="center" bgcolor="#E6E6E6" height="16">删&nbsp;&nbsp;&nbsp;除</td>  
      </tr>      
    </table>  
    <br>  <input type="button" value="增加一行" NAME="B3"  onclick="build_row()">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      <input type="submit" value="提   交" NAME="B1"  >
      
      </form> 
      </center>
    </body>  </html>
      

  13.   

    不加window直接form1.submit();试试看