【问题标题】:Getting value of radio button from dynamic form从动态表单中获取单选按钮的值
【发布时间】:2018-03-12 21:07:02
【问题描述】:

我在 JSP 中有一个包含多项选择测验的表单,每个问题后面都有一组带有选项的单选按钮,这些是从数据库中提取的,因为问题的选项数量并不相同,并且创建表单时添加单选按钮,每个单选按钮都有一个包含文本答案的标签。提交页面时它被传递给另一个 JSP,在这里我想从标签中获取文本以存储以便我可以检查答案。

这是表格,因此每组单选按钮的名称都基于问题编号,并且组中的每个成员都根据其问题编号和问题中的选项获得一个 ID。

<form class="container" id="quiz" method="post" action="/quizChecker.jsp">
  <% for (int i = 0; i < ques_nos.size(); i++) {
    String query = "SELECT answer_text, is_correct FROM Quiz_Question_Option WHERE quiz_ques_id = ?";
    PreparedStatement prepstmt = con.prepareStatement(query);
    prepstmt.setInt(1, ques_nos.get(i));
    ResultSet rsq = prepstmt.executeQuery();
    rsq.last();
    int size = rsq.getRow();
    rsq.first();
    %>
    <p id="ques" class="Question"<%=i%>"><%=questions.get(i)%></p><br>
    <% for (int j = 0; j < size; j++) {
    %>
    <input class="checkmark" type="radio" name="q<%=i%>" id="q<%=i%><%=j%>">
    <label for="q<%=i%><%=j%>"><%=rsq.getString(1)%></label><br>
    <% rsq.next();
  }
}
session.setAttribute("ques", ques_nos);
%>
<button type="submit" value="checkQuiz">Submit Quiz</button>
</form>

这是我试图获取所选按钮的文本值的代码。

<%
ArrayList<String> answers = new ArrayList<~>(5);
for (int i = 0; i < 5; i++) {
    String given = request.getParameter("q"+i);
    answers.add(given);
}
...

当我添加一个循环来打印已添加到答案中的内容时,它返回“ononononon”,所以我想如果选择了按钮,我正在访问,因为我只会在这里查看选定的单选按钮,我该如何获得而是标签的值?

【问题讨论】:

    标签: html jsp radio-button


    【解决方案1】:

    尝试为所有单选按钮设置一个值

    <input class="checkmark" value="answer1" type="radio" name="q<%=i%>" id="q<%=i%><%=j%>">
    <input class="checkmark" value="answer2" type="radio" name="q<%=i%>" id="q<%=i%><%=j%>">
    

    【讨论】:

    • 谢谢,现在看起来很简单!我只是将值设置为与标签文本相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多