Нулевое значение при проверке, какая кнопка отправки была нажата

0

Я пробовал хорошие два часа и до сих пор не получаю результатов. У меня есть такой HTML-код внутри файла test.jsp

<input type ="submit" name="watch" value="Edit" id="edit"></input>

<input type ="submit" name="case" value="Edit" id="editt"></input>

Затем у меня есть форма, которая при нажатии любой из кнопок выше появляется с помощью jquery

<form action="servlet.jsp" method="post">
<fieldset>
  <label for="Name">Name</label>
  <input type="text" name="name" id="name" value=""><br>
  <label for="Price">Price</label>
  <input type="text" name="Price" id="price" value=""><br>
</fieldset>
</form>  

И мой JSP состоит из

<% String param = request.getParameter("watch"); %>
<% String param2 = request.getParameter("case"); %>

Поэтому в основном у меня есть две кнопки редактирования, в зависимости от которой нажата кнопка редактирования, она должна предварительно заполнить значения формы. На данный момент у меня есть значения формы как "", потому что мой getParameter всегда появляется как null, независимо от того, какую кнопку я getParameter.

Я пробовал следующий код с точки зрения проверки, является ли значение NULL, а затем что-то делать, если они не являются и т.д., Но оба возвращают значение null, независимо от кнопки

if(param !=null){
    //assign variables and populate with data x
}
//and so on

Поэтому мой вопрос: во-первых, правильно ли я получаю параметр. И во-вторых, если да, то любые идеи, почему я получаю оба этих параметра как null, независимо от того, какую кнопку отправки я нажимаю.

Теги:
jsp
forms

2 ответа

1

Прежде всего, ввод является закрывающим тегом. Это означает, что вы закрываете его пробелом, за которым следует /> не с </input>:

<input type="submit" name="watch" value="Edit" id="edit" />
<input type="submit" name="case"  value="Edit" id="editt" />

Это, наверное, проблема. После этого изменения ваш код может очень хорошо работать. Но я бы отметил, что было бы проще назвать обе кнопки одинаковыми и дать им разные значения, потому что вам нужно только прочитать их и включить значение:

<input type="submit" name="submit"  value="Edit X" id="edit" />
<input type="submit" name="submit"  value="Edit Y" id="editt" />

Затем в сервлет или другой JSP:

String button = request.getParameter("submit");
if(button == null)
{
  out.print("no form was submitted");
  return;
}
else if("Edit X".equals(button))
{
  out.print("button 1 was pressed");
  return;
}
else if("Edit Y".equals(button))
{
  out.print("button 2 was pressed");
  return;
}
  • 1
    Извините за поздний ответ и спасибо за вашу помощь, однако я попробовал это, и он просто передает его как ноль ...
  • 0
    Вы используете Ajax, не так ли? Вы должны указать это в вопросе.
0

Любая вероятность вашего JSP должна быть:

<% String param = request.getParameter("edit"); %>
<% String param2 = request.getParameter("editt"); %>
  • 0
    Также попробовал это, также нуль
  • 0
    Это имена, которые отправляются, а не идентификаторы, так что нет.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню