我试图在表单中实现两个提交按钮。我的表格看起来像这样。
形式:
public function buildForm(\Symfony\Component\Form\FormBuilderInterface $builder, array $options) {
$builder
// ...
->add('gateway', 'submit', array(
'label' => 'Go to payment gateway',
))
->add('save', 'submit', array(
'label' => 'Save order',
));
parent::buildForm($builder, $options);
}
控制器中的方法$form->get('save')->isClicked()
始终返回FALSE
。它并不取决于我在表单中单击的按钮,每次都返回FALSE
。
控制器:
public function indexAction(Request $request) {
$form = $this->createForm(new OrderForm(null));
$form->handleRequest($request);
if ($form->isValid()) {
$values = $form->getData();
$action = $form->get('save')->isClicked() ? 'front.order.success' : 'front.order.gateway';
if ($action == 'front.order.success') {
//save order
} else if ($action == 'front.order.gateway') {
//something else
}
}
return $this->redirect($this->generateUrl($action));
}
你知道为什么吗?谢谢你的回答。