//添加行
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
大家看看什么问题 我这里先谢谢了 !
window.location=str;这样的话你的cickfile.do里面只能获得tbnum="+String(Table1.rows.length-1)这些值
因为你没有提交form表单 如果你需要的值在form表单里的话
请将window.location=str;修改为:form1.action=str; form1.submit();
如果改成
var str="/sxbt/cickfile.do?T10="+String(Table1.rows.length-1);
就不会null了
<!-- 好好看看你的name等于什么!!! -->
<input type='file' name='T1"+row_index+"' size='36' >
3楼的说的有道理 控件不在form中
我做插入行 为的是动态传递 可是添加后又不在form中
如何解决这个问题了!~~ 想想办法啊 !
一般都是先用再加1,你这是啥都没干呢就先给家1了。
自己跟踪一下这个变量就没问题了
nnerHTML 后form 变的不能提交了
<%@ 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">删 除</td>
</tr>
</table>
<br> <input type="button" value="增加一行" NAME="B3" onclick="build_row()">
<input type="submit" value="提 交" NAME="B1" >
</form>
</center>
</body> </html>