Вопрос по java, jsp, button, html – Как узнать, какая кнопка HTML была нажата в моем сервлете?

18

Я создаю регистрационную форму, которая содержит две кнопки отправки. Мне нужно знать, какая кнопка нажата в форме в моем коде сервлета?

Ваш Ответ

4   ответа
4

Только нажатая кнопка будет успешным контролем.

<input type="submit" name="action" value="Something">
<input type="submit" name="action" value="Something Else">

Затем на стороне сервера проверьте значение данных действия.

-3

Вы можете добавить скрытое поле в форму и, когда пользователь нажимает кнопку, установить его значение на «btn1». или "btn2" используя javascript перед sumbit.

Ура :)

& lt; input name = & quot; submit & quot; тип = & Quot; представить & Quot; значение = & Quot; SearchSumbit & Quot; OnClick = & Quot; javascript: document.Form1.sumbitType.value = "btn1"; & quot; / & GT; Кстати, это JS способ сделать это :)
@ MatthewFlaschen Нет, вы не правы. Если ваш сайт интернационализирован, вы не можете рассчитывать на ценность, полученную в разумной форме. Идея использования нескольких кнопок отправки с разными значениями не является началом для интернационализированных сайтов.
Там нет необходимости в JS. Вы можете просто сделать то, что делает Google, иметь две кнопки отправки с разными значениями.
Так мало кода. Так много вещей не так с этим. (1) Он не может решить, хочет ли он быть HTML или XHTML. (2) Имеет орфографические ошибки. (3) Он вводит зависимость от JS, которая просто не нужна. (4) Используется метка цикла без цикла. (5) Чтобы получить ссылку на элемент формы, нужно пройти долгий путь. (6) Он использует встроенные атрибуты обработчика событий вместо выделения кода в файл сценария. Пока этоa способ сделать это с JS, это очень плохой пример использования JS для решения проблемы, и JS - это неправильный инструмент для решения проблемы с самого начала.
0

Use This Code...

В файле JSP ...

<form action="MyServ">
            <input type="submit" name="btn1" value="OK">
            <input type="submit" name="btn2" value="OK">
        </form>

В файле сервлета ..

if (request.getParameter("btn1") != null){
       // do something
 }
else if (request.getParameter("btn2") != null){
       // do something
 }
35

этот вопрос.

Итак, в

String button1 = request.getParameter("button1");
String button2 = request.getParameter("button2");

значение, которое не является нулевым, является нажатой кнопкой.

Или, если вы хотите использовать одно и то же имя для двух кнопок, вы можете установить другое значение

<input type="submit" name="act" value="delete"/>
<input type="submit" name="act" value="update"/>

затем

String act = request.getParameter("act");
if (act == null) {
    //no button has been selected
} else if (act.equals("delete")) {
    //delete button was pressed
} else if (act.equals("update")) {
    //update button was pressed
} else {
    //someone has altered the HTML and sent a different value!
}

Похожие вопросы