PHP → Две и более submit кнопки в форме

09.03.2012

HTML:

<form method="post">
  ...
  <input type="submit" name="save" value="Сохранить" />
  <input type="submit" name="delete" value="Удалить" />
</form>

PHP:

if (isset($_POST['save'])) {
  ...
}
else if (isset($_POST['delete'])) {
  ...
}
Похожие записи

Комментарии

в друпале тоже иногда возникает подобная проблема, если посмотреть на $form_state то прицепиться можно много к чему

Михаил
16.05.2012, 17:57

Удобнее использовать $form_state['clicked_button']

Михаил
05.06.2012, 17:44

$form_state['clicked_button']
что это?

$form_state['clicked_button']['#value'] will tell you which button was clicked on the form.
Лучше один раз увидеть :)
Кстати, есть еще $form_state['triggering_element'], который тоже можно использовать для того, чтобы узнать, какая кнопка была нажата.

Михаил
05.06.2012, 18:53

В первом комментарии человек написал, что в Друпале возникает подобная проблема, и если посмотреть на $form_state, то можно прицепиться много к чему.
Я следующим сообщением пишу о том, что удобно использовать $form_state['clicked_button']. Всё же понятно!

только причём тут друпал? пост в разделе PHP

Игорь
19.12.2012, 15:01

И мне ответили, Михаил, спасибо.
xandeadx - я уже часто по вашему сайту ищу через поисковик. Ввёл запрос: "форма две кнопки" - и увидел ответ. Всё же ваш сайт по приоритету - друпаловский...)))
dsm($form_state); - что-то сразу не разглядел...

Сергей
29.11.2013, 16:16

а если будет три кнопки, вот так будет выглядеть код?
if (isset($_POST['save'])) {
...
}
else if (isset($_POST['delete'])) {
...
}
else if (isset($_POST['new'])) {
...
}

Гость
03.05.2016, 10:31

а если будет три кнопки, вот так будет выглядеть код?
if (isset($_POST['save'])) {
...
}
else if (isset($_POST['delete'])) {
...
}
else if (isset($_POST['new'])) {
...
}

if (isset($_POST['save'])) {
...
}
if (isset($_POST['delete'])) {
...
}
if (isset($_POST['new'])) {
...
}

Гость
03.09.2019, 00:08

...

При обновлении страницы выдает сообщение с подтверждением обновить страницу. Это крайне не удобно и криво! как исправить?

Добавить комментарий