这是第一个页面,由一个下拉列表和一个复选框组成
<form action="ProcessAis.jsp" method="post" onsubmit="return check(this);">
<table align="center" width="450">
<tr>
<td>
<h2>船舶检测项</h2>
</td>
</tr>
<tr>
<td><b>船舶名称</b></td>
</tr>
<tr>
<td>
<select name="dId" id="dId" class="selectpicker bla bla bli" data-live-search="true" size="1">
<%
List<detection> list = (List<detection>)request.getAttribute("list");
if(list ==null || list.size() < 1){
out.print("没有数据!");
}else{
for(detection dct :list){
%>
<option><%=dct.getFI_FisherName()%></option>
<%
}
}
%>
</select>
<tr>
<td><input name="AIS" type="checkbox" id="checkid" onchange="changeval()">AIS</td>
<tr>
<tr>
<td><input type="submit" value="提 交"></td>
</tr>
这是接收页面
processAis.jsp
<script type="text/javascript">
function changevla(){
var check = document.getElementById("checkid");
if(check.checkid == true){
document.getElementById("checkid").value = "1";
}else{
document.getElementById("checkid").value = "2";
}
}
</script>
<%
try{
Class.forName("**************");
String url = "*****************";
String username = "******";
String password = "*********";
Connection conn = DriverManager.getConnection(url,username,password);
String sql = "insert into newship(FI_FisherName,AIS) values(?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1,dct.getFI_FisherName());
ps.setString(2,document.getElementById("checkid").value);
int row = ps.executeUpdate();
if(row >0){
out.print("数据添加成功");
}
ps.close();
conn.close();
}catch(Exception e){
out.print("数据添加失败!");
e.printStackTrace();
}
%>
下来列表的值是从数据库里读取出来的,目的是将下拉列表的值和复选框的选定情况(选定返回一个值为“1,未选定返回一个值为“2)一起提交到第二个页面,然后再将返回的值存储到数据库中。现在的问题是感觉第一个页面的数据无法传到第二个页面,第二个页面传到数据库里的是空数据。想请问应该如何修改才能达到目的,最好是有详细代码说明,万分感谢。