Формы 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, поэтому это не помогает.


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

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