首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提交多个复选框时出错

提交多个复选框时出错
EN

Stack Overflow用户
提问于 2014-11-13 10:43:21
回答 2查看 120关注 0票数 0

我在我的jsp中使用这个划线器:

代码语言:javascript
复制
<%
    String q3 = request.getParameter ("checkbox1");
    session.setAttribute("q3", q3);
%>

这将从这些复选框中获取值。

代码语言:javascript
复制
<p> Which of the following are associated with Threading? Select two </p>
    <input type="checkbox" name="checkbox1" value="LiveLock">LiveLock<br>
    <input type="checkbox" name="checkbox1" value="Stack Overflow">Stack Overflow<br>
    <input type="checkbox" name="checkbox1" value="Heap">Heap<br>
    <input type="checkbox" name="checkbox1" value="Starvation">Starvation<br>
             <input type="submit" value="Next" >

或者rather..thats它应该做什么。但是当我抓取这些值并打印出来时

代码语言:javascript
复制
<p>Good day <%= session.getAttribute("uname") %> </p>
<p>For question 1 you chose <%= session.getAttribute("q1") %> </p>
<p>For question 2 you chose <%= session.getAttribute("q2") %> </p>
<p>For question 3 you chose <%= session.getAttribute("q3") %> </p>
<p>For question 4 you chose <%= session.getAttribute("q4") %> </p>

q1,2,4的单选按钮工作得很好。复选框只返回选中的第一个值,或者更确切地说是返回第一个值。首先出现的值,即如果我选择“堆”,然后选择"Livelock",它将在打印输出中显示"LiveLock“。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-13 10:48:42

您应该使用request.getParameterValues()而不是request.getParameter(),因为复选框名称是相同的。

请记住,getParameterValues()返回数组,所以您必须这样做

代码语言:javascript
复制
  String q3[] = request.getParameter ("checkbox1");

为了检索值,请按下面的方式迭代它

代码语言:javascript
复制
for(String s:q3)
{
System.out.println(s);
}

用于在浏览器中打印

你可以做到

代码语言:javascript
复制
for(String s:q3)
    {
    out.println(s);
    }
票数 0
EN

Stack Overflow用户

发布于 2014-11-13 10:50:10

使用request.getParameterValues获得多个复选框选择:

代码语言:javascript
复制
String[] q3 = request.getParameterValues ("checkbox1");

在会话中存储:

代码语言:javascript
复制
session.setAttribute("q3", request.getParameterValues("checkbox1"));

遍历以显示值:

代码语言:javascript
复制
<p>Good day <%= session.getAttribute("uname") %> </p>
<p>For question 1 you chose 
    <%String[] ans = (String[])session.getAttribute("q3");
    for(String chkd : ans) {
        out.print(chkd);
        out.print(", ");
    }%>
</p>

注:不建议使用划线。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26906969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档