[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача значения из кнопки или 2 submit
Slavok47
Всем привет!
Ребят подскажите возможно ли передать какое то значение из кнопки,
задача такая, есть форма со скрытым полем через которое будет передаваться ID объекта обработчику, и нужно прикрутить 2 кнопки (Удалить, Редактировать), и с этими кнопками нужно передать еще одно значение, в зависимости от нажатой кнопки, для условия, чтобы обработчик понял что нужно делать удалять или открыть форму для редактирования, как вариант можно конечно использовать радио кнопки и один submit, но интересует возможно ли это сделать двумя кнопками...
Спасибо!
exotica
как то так
<form name="MyForm" method="post">
<
input name="current_id" type="hidden" value="1234453">
<
button type="submit" formaction="delete.php" class="button_1">Удалить</button>
<
button type="submit" formaction="edit.php" class="button_2">Редактировать</button>
</
form>


а если в один обработчик то добавить ГЕТ параметр так
<form name="MyForm" method="post">
<
input name="current_id" type="hidden" value="1234453">
<
button type="submit" formaction="do.php?do=delete" class="button_1">Удалить</button>
<
button type="submit" formaction="do.php?do=edit" class="button_2">Редактировать</button>
</
form>


и в обработчике получить ее

if($_GET['do'] == 'delete')
{
// удаляем
}
if($_GET['do'] == 'edit')
// редактируем


ну или чтото вроде

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
exotica
но опять же смотря что редактировать и удалять собрались.
если это строка таблицы то лучше вообще без формы обойтись) нечего их плодить.
Проще сформировать ссылки при составилении таблицы

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Slavok47
Спасибо!
Я тоже думал про ссылки, но как то не хочется GET использовать
sergeiss
Я вот не понял, зачем такие извращения изыски? Кнопка сабмит будет передана только одна, которая нажата. Просто проанализируй ПОСТ и ты поймешь, что выбрал юзер. В данном случае всё просто.

В качестве информации для размышления, запусти такой скрипт, понажимай кнопки:

<?php
if( isset( $_POST ) )
{
echo '<pre>'.print_r( $_POST, 1).'</pre>';
}
?>

<form
name="MyForm" method="post">
<input
type="text" name="txt">
<button
type="submit" name="action_del">Del</button>
<button
type="submit" name="action_edit">Edit</button>
</form>


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
exotica
sergeiss
а ну да biggrin.gif

но вариант с отправкой двум разным обработчикам остался за мной wink.gif

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Slavok47
Проверил пример, и это как раз то что требовалось,
если я правильно понял, то теоретически достаточно получить TRUE из кнопки, то есть передать параметр name="action_del", и не важно с каким значением, нам же его не сравнивать с чем то, а просто проследить какаяя кнопка была нажата, верно? или с теорией у меня тоже не важно)))
sergeiss
Цитата (Slavok47 @ 21.07.2014 - 11:39)
если я правильно понял, то...

В целом ты понял правильно :)

Тебе надо просто проверить, что же именно было нажато:
if( isset( $_POST['action_del'])
{
// действия по удалению
}

if( isset( $_POST['action_edit'] )
{
// действия по редактированию
}


exotica, я предпочитаю работать с одним обработчиком формы. А уже в нем, по мере необходимости, инклудить нужные файлы с обработкой. Например, внутри указанных мной ИФов, можно подинклудить 'del.php' или 'edit.php'.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Slavok47
sergeiss
Спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.