自动添加一行,其中有文本框和下拉框
程序如下:
function tb_addnewaward()
{
var nId = document.all("VarNum").value;
var num = parseInt(nId);
var ls_t=document.all("myaward")
//maxcell=ls_t.rows(0).cells.length;
mynewrow = ls_t.insertRow();
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='right'><select name='bookno"+(num+1)+"'>
<%
for (int i=0;i<list1.size();i++)
{
Publishbook vpat = (Publishbook) list1.get(i);
%>
<option value="<%=vpat.getBookno()%>" ><%=vpat.getBookno()%></option>
<%
}
%>
</select></div>" mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awardtitle"+(num+1)+"' value=''></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awardlevel"+(num+1)+"' value='' ></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awarddate"+(num+1)+"' value=''></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='authorizedept"+(num+1)+"' value=''></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awardgrade"+(num+1)+"' value=''></div>"
document.all("VarNum1").value = num+1;
}
其中下拉框的内容为表publishbook的bookno字段,但是这个函数为什么不好用?
程序如下:
function tb_addnewaward()
{
var nId = document.all("VarNum").value;
var num = parseInt(nId);
var ls_t=document.all("myaward")
//maxcell=ls_t.rows(0).cells.length;
mynewrow = ls_t.insertRow();
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='right'><select name='bookno"+(num+1)+"'>
<%
for (int i=0;i<list1.size();i++)
{
Publishbook vpat = (Publishbook) list1.get(i);
%>
<option value="<%=vpat.getBookno()%>" ><%=vpat.getBookno()%></option>
<%
}
%>
</select></div>" mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awardtitle"+(num+1)+"' value=''></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awardlevel"+(num+1)+"' value='' ></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awarddate"+(num+1)+"' value=''></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='authorizedept"+(num+1)+"' value=''></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awardgrade"+(num+1)+"' value=''></div>"
document.all("VarNum1").value = num+1;
}
其中下拉框的内容为表publishbook的bookno字段,但是这个函数为什么不好用?
...
</select></div>" 和java一样,javascript字符串不能换行改成
mynewcell.innerHTML = "<div align='right'><select name='bookno"+(num+1)+"'>"
<%for(...){...%>
+ "<option value='<%=vpat.getBookno()%>'><%=vpat.getBookno()%></option>"
<%}%>
+ "</select></div>";
是不是这样啊
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='right'><select name='bookno"+(num+1)+"'>
<%
for (int i=0;i<list1.size();i++)
{
Publishbook vpat = (Publishbook) list1.get(i);
%>
+ "<option value="<%=vpat.getBookno()%>" ><%=vpat.getBookno()%></option>
<%
}
%>
+ "</select></div>"
你先去看看生成html后的源文件,看看javascript有没有语法错误不明白的话,就把源文件的这段代码贴出来
{
var nId = document.all("VarNum").value;
var num = parseInt(nId);
var ls_t=document.all("myaward")
//maxcell=ls_t.rows(0).cells.length;
mynewrow = ls_t.insertRow();
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='right'><select name='bookno"+(num+1)+"'>
<%
for (int i=0;i<list1.size();i++)
{
Publishbook vpat = (Publishbook) list1.get(i);
%>
+"<option value="<%=vpat.getBookno()%>" ><%=vpat.getBookno()%></option>
<%
}
%>
+"</select></div>" mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awardtitle"+(num+1)+"' value=''></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awardlevel"+(num+1)+"' value='' ></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awarddate"+(num+1)+"' value=''></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='authorizedept"+(num+1)+"' value=''></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awardgrade"+(num+1)+"' value=''></div>"
document.all("VarNum1").value = num+1;
}
{
var nId = document.all("VarNum").value;
var num = parseInt(nId);
var ls_t=document.all("myaward")
//maxcell=ls_t.rows(0).cells.length;
mynewrow = ls_t.insertRow();
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='right'><select name='bookno"+(num+1)+"'>
<%
for (int i=0;i<list1.size();i++)
{
Publishbook vpat = (Publishbook) list1.get(i);
%>
+"<option value="<%=vpat.getBookno()%>" ><%=vpat.getBookno()%></option>
<%
}
%>
+"</select></div>" mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awardtitle"+(num+1)+"' value=''></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awardlevel"+(num+1)+"' value='' ></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awarddate"+(num+1)+"' value=''></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='authorizedept"+(num+1)+"' value=''></div>"
mynewcell=mynewrow.insertCell();
mynewcell.innerHTML = "<div align='center'><input type='text' name='awardgrade"+(num+1)+"' value=''></div>"
document.all("VarNum1").value = num+1;
}<html:form action="bookaward_insertsave.do" method="POST" onsubmit="return checkForm(this)"> <TABLE width="98%" border="4" align="center" bordercolor="#164dab" id="tblContent">
<TR> <!-- to here end :Luiy -->
<TD>
<TABLE width="100%" border="1" align="center" bordercolor="#164dab" id="myaward">
<TR align="center">
<TD align="center" ><FONT size="2"> 书号 </FONT></TD> <TD align="center" ><FONT size="2"> 获得奖项名称 </FONT></TD>
<TD align="center"> <FONT size="2">奖项等级 </FONT></TD>
<TD align="center"> <FONT size="2">获得奖项时间 </FONT></TD>
<TD align="center"> <FONT size="2">奖项颁发机构 </FONT></TD>
<TD align="center"><FONT size="2"> 奖项级别 </FONT></TD>
</TR>
<TR>
<TD id="td1" align="center">
<select id="bookno1" name='bookno1'>
<%System.out.print("Pppppppppppppppppp");
for (int i=0;i<list1.size();i++)
{
Publishbook vpat = (Publishbook) list1.get(i);
System.out.print(vpat.getBookno());
%>
<option value="<%=vpat.getBookno()%>" ><%=vpat.getBookno()%></option>
<%
}
%>
</select> </TD>
<TD align="center">
<INPUT type="text" name="awardtitle1" value="">
</TD>
<TD align="center">
<INPUT type="text" name="awardlevel1" value="">
</TD>
<TD align="center">
<INPUT type="text" name="awarddate1" value="">
</TD>
<TD align="center">
<INPUT type="text" name="authorizedept1" value="">
</TD>
<TD align="center">
<INPUT type="text" name="awardgrade1" value="">
</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD height="40" align="center" colspan="4">
<DIV align="right">
<INPUT id="VarNum1" type="hidden" value="1" name="VarNum">
<INPUT type="button" value="新增一行内容" onclick="tb_addnewaward()" align="bottom">
<INPUT type="button" value="删除一行内容" onclick="tb_deleteaward()" align="bottom">
</DIV>
</TD>
</TR>
<TD style="TEXT-ALIGN: center" width="54%">
<TABLE class="tblCommandBtn" id="tblCommandBtn" onmouseover="button_over()" onmouseout="button_out()" bordercolor="#164dab">
<TR>
<TD><INPUT type="submit" name="bt" value="保 存"></TD> <TD><INPUT type="reset" name="bt1" value="重 置"></TD>
</TR>
</TABLE>
</TD>
</TABLE>
</html:form>
<script language="javascript">
function tb_deleteaward() {
var nId = document.all("VarNum").value;
var num = parseInt(nId);
if(num==1)
{
alert("您不能删除行了!");
return;
}
var ls_t=document.all("myaward"); ls_t.deleteRow() ;
document.all("VarNum").value = num-1;
} </script>
</body>
</html>
<%
for (int i=0;i<list1.size();i++){
Publishbook vpat = (Publishbook) list1.get(i);
%>
+"<option value='<%=vpat.getBookno()%>' ><%=vpat.getBookno()%></option>"
<%
}
%>
+"</select></div>";