xandeadx.ru Блог музицирующего веб-девелопера

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

Опубликовано в

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'])) {
  ...
}
Похожие записи

Комментарии RSS

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

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

$form_state['clicked_button']

что это?

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

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

не понимаю вас

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

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

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

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

а если будет три кнопки, вот так будет выглядеть код?
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'])) {
...
}

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании