首页 > 解决方案 > 如何显示两个或多个复选框的值

问题描述

我有这个小表格:

<form action="forma2.jsp" method="POST" target="_blank" >
        <input type="checkbox" name="fit" /> FIT</br>
        <input type="checkbox" name="fdu" /> FDU </br>
        <input type="checkbox" name="fam"/>FAM
    
        
        <input type="text" name="ime"/><br>           
        <input type="submit" value="Potvrdi" />
    </form>

这个小代码向我显示有关选定复选框的信息:

<body>

    <% if (request.getParameter("fit") != null) { %>
    <p> Today is FIT</p><br>
    <% } else if (request.getParameter("fdu") != null) { %>
    <p> Today is not FDU</p><br>
    <% } else if (request.getParameter("fam") != null) { %>
      <p> Today is not FAM</p><br>
        <% } else { %>
        <p>Please choose one!</p>
    <% }%>
</body>

我的问题是我不知道如何制作,所以我可以点击两个复选框来获取信息,而不仅仅是一个。因此,如果我选择了复选框 number1 和复选框 number2,那么如何让程序向我显示有关这两个复选框的信息。

标签: javajsp

解决方案


您可以为form标签下的所有复选框赋予相同的名称,然后用于request.getParameterValues("chcks[]")获取所有复选框的值。IE:

你的jsp代码:

 <form action="forma2.jsp" method="POST" target="_blank">
    <input type="checkbox" name="chcks[]" value="FIT"/>FIT
    <input type="checkbox" name="chcks[]" value="FDU"/>FDU
    <input type="checkbox" name="chcks[]" value="FAM"/>FAM
    <input type="text" name="ime"/><br>           
    <input type="submit" value="Potvrdi" />
  </form>

然后从复选框中获取值,如下所示:

  if(request.getParameterValues("chcks[]")!=null){
        //get values of checkbox
        String[] datas = request.getParameterValues("chcks[]");
      //loop through values
        for(int i=0;i< datas.length;i++){
        //print
        out.println("Today is "+datas[i]);
        
        }
     }

推荐阅读