【发布时间】:2013-10-24 02:29:03
【问题描述】:
当我创建新记录时,在操作 processForm 中,我需要获取名为 idmensajes 的隐藏字段的值。该字段是一个隐藏字段,自动增量和初级键。
但是当我使用getValue ('idmensajes') 时,结果是空的。为什么?如何在 processForm 中获取 idmensajes 的值?
这里是processForm的代码:
protected function processForm(sfWebRequest $request, sfForm $form)
{
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
if ($form->isValid())
{
$form_vals = $this->form->getValue('idmensajes');
$mensajes = $form->save();
$this->redirect('mensajes/index');
为了查看捕获的值,对应两个字段,我加了:
$form_vals1 = $this->form->getValue('idmensajes');
$form_vals2= $this->form->getValue('cuerpo');
$this->getUser()->setFlash("val1", $form_vals1);
$this->getUser()->setFlash("val2", $form_vals2);
在视图indexSuccess.php中,我添加代码:
<?php echo 'El valor del Id es:'. $sf_user->getFlash('val1'); ?>
<br>
<?php echo 'El valor de Cuerpo es: '. $sf_user->getFlash('val2'); ?>
然后,我查看val2 的值,但val1 的值是空的。
这里是完整的代码,加上 Flash:
protected function processForm(sfWebRequest $request, sfForm $form)
{
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
if ($form->isValid())
{
$mensajes = $form->save();
$form_vals1 = $this->form->getValue('idmensajes');
$form_vals2= $this->form->getValue('cuerpo');
$this->getUser()->setFlash("val1", $form_vals1);
$this->getUser()->setFlash("val2", $form_vals2);
$this->redirect('mensajes/index');
【问题讨论】:
-
你能贴出代码吗,你能从哪里获得价值?
-
@denys281 我添加了我的 processForm 的完整代码
标签: doctrine symfony-1.4 symfony-forms