最近在帮别人做一个在线评判系统,当我使用out.print("<input type=reset value=重置/> <input type=submit value=提οnclick=return checkform()>");时发现checkform函数一直都无法执行。我多次检查了checkform()函数,没有发现其中用什错误。在网上查阅了一些资料。发现在使用out.println输出javascript函数时,必须要用转译字符“/”来输出其中的双引号因为js中的双引号会破坏out.println中的语句。而我在使用out.prinln输出表单中带有双引号的属性的时候,都把双引号省略了。
我突然间想到,可能是我的onclick的响应函数没有加双引号他就不能执行,于是我就加上了转义字符,<input type=submit value=提交 οnclick=\"return checkform()\"/>")这样他就验证表单成功了,同样的方法在使用out.println输出<input type=checkbox name=Is_delete>的时候如果不加双引号,则这个checkbox的name属性将不会被读取到<input type=checkbox align=center name=\"Is_delete\"/>。。。
out.print( "<tr><td><input type=checkbox name=\"Is_delete\" value='"+rs.getInt(1)+"' ></td>");可以用以直接将从数据库中的值赋值给checkbox中value属性。
List<String> tempList1=Arrays.asList(Is_delete);
for(int j=0;j<tempList1.size();j++)
{
out.println(tempList1.get(j));
}
用List容器保存checkbox中的值,就可以将保存的值输出来。