Symfony 1.4我无法获得隐藏字段的值

时间:2013-10-24 02:29:04

标签: doctrine symfony-1.4 symfony-forms

当我创建新记录时,在动作processForm中,我需要获取名为idmensajes的隐藏字段的值。该字段是隐藏字段,自动增量和prymary键。 但是当我使用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 add:

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');

1 个答案:

答案 0 :(得分:1)

首先检查 idmensajes 是否存在,以及是否可以从表单中获取其他字段。

试试这个:

$this->form['idmensajes']->getValue(),

<强> UPD

尝试:

 $mensajes = $form->save();
 $idmensajes = $mensajes->getIdmenSajec()// or other getter