Symfony3フォーム: Iは以下に示すようにフォームを作成し、レンダリングするために管理している:Symfony3フォーム:どのボタンがフォーム内でクリックされたかを知る方法?
<form action="/member/john/actions" method="post" name="form">
<input type="submit" value="Block John" name="block">
<input type="submit" value="Remove from my friends" name="remove">
<input type="hidden" value="LeiajURspTa9c8JEUYtvepki0b_CdL9dMWqEZxOYvfk" name="form[_token]" id="form__token">
</form>
Iが所望の位置(member_friend_actions)にボタン"Block John"
又は"Remove from my friends"
、コントローラルートそれをクリックするとまた、のデバッグダンプ値と"Submitted!"
のテキストを表示することができます。ルート「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()));
}
私はそれをここに持っているクリックされたボタンを知りたい(ブロックまたはここで削除;しかし、より多くのボタンがあることができ他の場所で)。私は、メソッドを使用してみました:(0){}アレイを与え、
ます$ form-> getClickedButton()=>そう支援されていない、NULL与える
ます$ form->のgetData()=>。
これはどのように達成できますか?
こんにちは。私の答えが問題を「解決」した場合は、私の答え以外のチェックマークをクリックして正しいものとしてマークしてください。ありがとう! –