获取复选框组的值

时间:2014-02-17 13:02:11

标签: html5 jsp servlets checkbox

我有一个包含radio groupscheckboxe groups的表单,每个checkbox group / radio group都有一个唯一的名称。

在我的Servlet我尝试获取radio groupscheckbox groups的所有选中值。

PrintWriter out = response.getWriter();
Enumeration<String> requestParameters = request.getParameterNames();

while (requestParameters.hasMoreElements()) {
    String paramName = (String) requestParameters.nextElement();
    out.println("Request Paramter Name: " + paramName
              + ", Value - " + request.getParameter(paramName));
 }

当我在checkboxs中选择多个checkbox group时,我只获得一个值。

例如,我有checkbox group

<ul class="data-list-2">        
    <li>
       <div class="icheckbox_square-aero">
          <input style="position: absolute; opacity: 0;" name="question_1" class="required" value="Mise en page d’un texte" type="checkbox">
       </div>
       <label>Mise en page d’un texte</label>
    </li>

    <li>
       <div class="icheckbox_square-aero">
          <input style="position: absolute; opacity: 0;" name="question_1" class="required" value="Compilation d’un texte" type="checkbox">
       </div>
       <label>Compilation d’un texte</label>
    </li>

    <li>
       <div class="icheckbox_square-aero">
          <input style="position: absolute; opacity: 0;" name="question_1" class="required" value="Présentation d’un texte sous forme de diaporama" type="checkbox">
       </div>
       <label>Présentation d’un texte sous forme de diaporama</label>
    </li>

    <li>
       <div class="icheckbox_square-aero">
          <input style="position: absolute; opacity: 0;" name="question_1" class="required" value="Edition d’un texte" type="checkbox">
       </div>
       <label>Edition d’un texte</label>
    </li>
</ul>

我检查了最后三个checkboxs,我只得到一个值如下:

  

请求参数名称:question_1,Value - Compilation d'un texte

我在Google上搜索了这一点,并且发现我必须在每个[]的名称后添加checkbox group,但是当我尝试这样做时,这就是我得到的:

  

请求参数名称:question_1 [],Value - Compilation d'un texte

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

在表单中选中多个复选框将为您提供String数组形式的值。您必须使用request.getParameterValues()来获取在String数组中选择的所有值。

您的样本可能是:

String[] questions = request.getParameterValues("question_1");
for(int i=0;i<questions.length;i++){
out.println(questions[i]);
}