Как отобразить значения двух или более флажков - PullRequest
1 голос
/ 14 июля 2020

У меня есть эта маленькая форма:

<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>

Моя проблема в том, что я не знаю, как это сделать поэтому я могу щелкнуть два флажка, чтобы получить информацию, а не только один. Итак, если я выбрал флажок номер 1 и флажок номер 2, как сделать так, чтобы программа отображала мне информацию об обоих флажках.

Ответы [ 2 ]

1 голос
/ 15 июля 2020

Вы можете дать одно и то же имя всем флажкам в теге form, а затем использовать request.getParameterValues("chcks[]") для получения значений всех флажков. т.е.:

Ваш 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]);
        
        }
     }
0 голосов
/ 14 июля 2020

Вы настроили его как if / else if / else if. Будет выбрано только 1 для отображения. Вы можете исправить это, изменив каждый на отдельный оператор if.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...