Как передать параметр через кнопку отправки?

В моем коде для мини-магазина онлайн-книг у меня есть следующая строка, повторяющая 5 раз с различным значением параметра 'name'

<input name="JSP-2" type="submit" value="Buy">

При нажатии кнопки "Купить" приложение перенаправляет файл "buy.jsp", где получает значение имени и отображает соответствующие сведения о книге.

В моем buy.jsp, я включил

    <% String bname= request.getParameter("name");
out.print(bname);
%>

Но имя не присваивается имени bname и оно показывает значение как null. Как передать параметр из ввода типа отправки? Пожалуйста, помогите.

Ответы

Ответ 1

Вы должны передать параметр в запросе. Поскольку у вас есть форма и отправка формы, вы можете иметь скрытое поле в форме, называемой "submitType", и заполнять ее каждый раз, когда вы нажимаете кнопку, используя javascript. Затем это будет доступно в следующем запросе.

Где-то внутри формы:
<input type="hidden" name="submitType">

в кнопках отправки:
<input name="JSP-2" type="submit" onclick="setType('Buy')">

JavaScript: formName - это название вашей формы

<script>
   function setType(type)
   {
      //formName is the name of your form, submitType is the name of the submit button.
      document.forms["formName"].elements["submitType"].value = type;

      //Alternately, you can access the button by its Id
      document.getElementById("submitId").value = type;
   }
</script>