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'])) {
...
}
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 то прицепиться можно много к чему
Удобнее использовать $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'])) {
...
}
if (isset($_POST['delete'])) {
...
}
if (isset($_POST['new'])) {
...
}
При обновлении страницы выдает сообщение с подтверждением обновить страницу. Это крайне не удобно и криво! как исправить?
Добавить комментарий