【问题标题】:Symfony submit to same urlSymfony 提交到相同的 url
【发布时间】:2011-12-09 09:35:10
【问题描述】:

我有一个带有一些文本字段的表单,我有一个预览按钮,需要将表单提交到同一个控制器。然后在控制器中,我需要提取值并使用这些值填充表单以供模板查看。实现这一目标的最佳方法是什么?我是新手,所以请清楚。

【问题讨论】:

    标签: php symfony1 symfony-forms symfony-1.4 admin-generator


    【解决方案1】:

    样品控制器:

    public function myControllerName(sfWebRequest $request)
    {
      $this->form = new myFormClass();
    }
    

    在您的模板中使用<?php echo $form->renderFormTag( url_for('@yourRoutingName'), array('method' => 'POST') ); ?> 并将@yourRoutingName 更改为指向您的控制器的那个。

    现在把你的控制器改成这样:

    public function myControllerName(sfWebRequest $request)
    {
      $this->form = new myFormClass();
    
      if ($request->isMethod(sfRequest::POST)
      {
        $this->form->bind( $request->getParameter( $this->form->getName() ) );
    
        // Check if the form is valid.
        if ($this->form->isValid())
        {
          $this->form->save();
          // More logic here.
        }
      }
    }
    

    $this->form->bind( $request->getParameter( $this->form->getName() ) ); 部分将发布的数据绑定到您的表单,其中$this->form->isValid() 返回一个布尔值,无论表单是否有效。

    【讨论】:

      【解决方案2】:

      你试过了吗?

      $this->redirect($request->getReferer()); //action
      

      如果没有,请尝试检查它是否适合您。

      谢谢。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-22
        • 2014-08-18
        • 2012-03-08
        • 1970-01-01
        • 1970-01-01
        • 2013-01-25
        • 2016-09-26
        • 1970-01-01
        相关资源
        最近更新 更多