Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend Framework 2 FormSubmit调用控制器操作_Php_Html_Zend Framework2 - Fatal编程技术网

Php Zend Framework 2 FormSubmit调用控制器操作

Php Zend Framework 2 FormSubmit调用控制器操作,php,html,zend-framework2,Php,Html,Zend Framework2,如何将“提交”按钮连接到控制器操作,以便当我按下“提交”按钮时,控制器将触发特定操作 MyController: class MyController extends AbstractActionController { public function viewAction() { $form = new MyForm(); $viewModel = new ViewModel(array('form' => $form));

如何将“提交”按钮连接到控制器操作,以便当我按下“提交”按钮时,控制器将触发特定操作

MyController:

class MyController extends AbstractActionController
{
    public function viewAction()
    {
        $form = new MyForm();
        $viewModel = new ViewModel(array('form' => $form));
        $viewModel->setTemplate('myForm');

        return $viewModel;
    }

    public function submitAction()
    {
       // want to trigger this
    }
}
我的表格:

class MyForm extends Form
{
    public function __construct()
    {
        parent::__construct('SubmitForm');
        $this->setAttribute('method', 'post');


        $this->add(array(   'name'      => 'submit',
                            'type'      => 'Zend\Form\Element\Submit',
                            'attributes' => array('type'    => 'submit',
                                                  'value'   => 'Submit',
                                                  'id'      => 'submitButton'),
        ));
    }

}
myForm.phtml:

<?php 

$form = $this->form;
$form->prepare();

echo $this->form()->openTag($form);
echo $this->formSubmit($form->get('submit'));    // I want pressing this element should route to MyController::submitAction...
echo $this->form()->closeTag();

?>

您可以使用:

$form->setAttribute('action', $url);
您可以使用url帮助程序获取
$url

  • 在视图中-
    $this->url('my-route')
  • 在控制器中-
    $this->url()->fromRoute('my-route')

如果我有两个提交按钮,我将如何区分它们?以前,我成功地在提交按钮的“名称”属性中使用了不同的值。我没有在ZF2中使用这种方法,但我会检查$u POST请求,然后在$u POST数组中按名称检查提交按钮。