Формы Symfony3: как узнать, какая кнопка была нажата в форме?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Формы Symfony3: как узнать, какая кнопка была нажата в форме?

Сообщение Anonymous »

Формы Symfony3: Мне удалось создать и отобразить форму, как показано ниже:
Когда я нажимаю кнопки «Заблокировать Джона» или «Удалить из друзей», контроллер направляет его в нужное место (member_friend_actions) и может показать значения отладочного дампа вместе с текстом «Отправлено!» перед смертью.

Мой контроллер с маршрутом «member_friend_actions» настроен, как показано ниже:

Код: Выделить всё

/**
* A common post location to catch all operations like add/remove/cancel/block friends
*
* @Route("/{username}/actions", name="member_friend_actions")
* @Method("POST")
*/
public function allActionsFriendAction(Request $request, User $friend)
{
$form = $this->createAllActionsFriendForm($friend);
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {

//$clicked = $form->getData();
$clicked = $form->getClickedButton()
\Doctrine\Common\Util\Debug::dump($clicked);
die("Submitted!");

}

return $this->redirectToRoute('member_profile', array("username" => $friend->getUsername()));
}
Я хочу знать, какая кнопка была нажата, что привело его сюда (заблокировать или удалить здесь; но в других местах может быть больше кнопок). Я пробовал использовать методы:


$form->getData() => который дает array(0) { } и

$form->getClickedButton() => дает NULL, поэтому это не помогает.


Как этого можно достичь?>
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»