Symfony提交给相同的网址

时间:2011-12-09 09:35:10

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

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

2 个答案:

答案 0 :(得分: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()返回布尔值,无论表单是否有效。

答案 1 :(得分:0)

你试过这个吗?

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

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

感谢。