form表单中包含复选框的提交问题代码解析
程序员文章站
2023-09-06 20:17:52
先上代码
//index页面代码
先上代码
//index页面代码
<form id="myform" action="myjsp.jsp"> 下面输入用户名:<br> <input type="text" id="name" name="name" style={width:200px;}><br> 下面输入密码:<br><input type="password" id="code" name="code" style={width:200px;} ><br> 选择性别:<br> <input type="radio" name="sex" value="男" id="sex">男 <input type="radio" name="sex" value ="女" id="sex">女 <input type="radio" name="sex" value="李宇春" id="sex">李宇春<br> 选择你的从业经历(以下内容请至少选择一项):<br> <input type="checkbox" checked name="boxes" value="选择的内容是:" style={display:none}>//不显示的框 <input type="checkbox" name="boxes" value="资深程序员">资深程序员<br> <input type="checkbox" name="boxes" value="java嵌入式以及游戏开发">java嵌入式以及游戏开发<br> <input type="checkbox" name="boxes" value="j2ee企业开发">j2ee企业开发<br> <input type="checkbox" name="boxes" value="实习 没做过开发">实习 没做过开发<br> <input type="checkbox" name="boxes" value="做过兼职">做过兼职<br> <input type="checkbox" name="boxes" value="我是来打酱油的">我是来打酱油的<br> <input type="checkbox" name="boxes" id="txt">自己写 <input type="text" name="txt"><br> <input type="submit" value="注册"> </form>
接收页面代码
<%request.setcharacterencoding("utf-8"); response.setheader("iso-8859-1","utf-8"); response.setcharacterencoding("utf-8"); %> <%! string name=" ",code=" ",sex=" ",txt=" "; %> <% name = request.getparameter("name"); %> <% code = request.getparameter("code"); %> <% sex = request.getparameter("sex"); %> <%string arr[] = request.getparametervalues("boxes"); %> 姓名: <%=name %><br> 密码: <%=code %><br> 性别: <%=sex %><br> 选项:<br> <%if(arr.length==1) {%> <%="复选内容没有选择" %> <% } else { for(int i = 0;i<arr.length;i++){ %> <%=arr[i] %> <br> <%} } %>
首先明确复选框的提交方法 在定义的时候定义每个框的name是一直的 然后提交到接收页面的时候便接收为数组
在输出的时候以数组的循环遍历形式输出 需要说一下的是 在form中有一个不显示的框 主要是为了解决复选框在没有选择时也可以顺利提交
而不出现空指针错误 试想:如果没有不显示的复选框 那么提交之后if(arr.length==0)这样来判断 而事实上这是执行不到的 因为arr.length==0的时候会出现空指针错误
页面根本跳转不过去 servlet跟jsp一样 不说了 ajax提交的话可以将复选框先用js代码处理一下 处理为数组或者 string逗号string的形式 然后在接收页面截取 后面的都还没做 具体实施之后再详细写一下
一开始的时候还想在一个页面写提交个接收 这怎么可能呢 肯定会空指针错误啊