Symfony 2点击提交按钮总是返回FALSE

时间:2015-06-15 11:10:01

标签: php forms symfony

我试图在表单中实现两个提交按钮。我的表格看起来像这样。

形式:

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));
}

你知道为什么吗?谢谢你的回答。

0 个答案:

没有答案