我有一个带有一些文本字段的表单,我有一个预览按钮,需要将表单提交到同一个控制器。然后在控制器中,我需要提取值并使用这些值填充表单以供模板查看。实现这一目标的最佳方法是什么?我是新手,所以请清楚。
问问题
245 次
2 回答
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()
无论表单是否有效,都会返回一个布尔值。
于 2011-12-09T09:43:17.663 回答
0
你试过这个吗?
$this->redirect($request->getReferer()); //action
如果没有,那么请尝试检查它是否适合您。
谢谢。
于 2011-12-09T09:40:41.947 回答