【问题标题】:Symfony 1.4 I have trouble getting a value of a hidden fieldSymfony 1.4 我无法获取隐藏字段的值
【发布时间】: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


【解决方案1】:

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

试试这个:

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

更新

试试:

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

【讨论】:

  • 同理:idmensajes 为空。但是,在视图中该值存在。当 Symfony 加载模板 indexSuccess.php 时,我可以看到生成的值。但是什么时候 Symfony 和 Doctrine 会创建具有自动增量值的字段的值?
  • @JorgeH 你能从你的表格中获得其他价值吗?更新答案
  • 是的,我可以获取并查看操作中的其他字段。例如,使用名为 Cuerpo 的字段文本,我可以获取值并查看。
  • @JorgeH 如果从答案中为您提供第二个解决方案(保存后获取价值)?
  • 一会儿,我正在测试新的解决方案
猜你喜欢
  • 2013-12-30
  • 1970-01-01
  • 1970-01-01
  • 2010-10-20
  • 1970-01-01
  • 2011-03-12
  • 2021-11-15
相关资源
最近更新 更多