0

嗨,

我正在使用 jq_link_to_remote 函数在 div 中加载一个表单来回答评论(如在 facebook 中)。我的问题是,我将这种形式称为“社交/响应/id/14”,其中 id 内容是父母的意见。我创建了一个函数,将值设置为表单中的隐藏字段。

那么,为什么如果我尝试直接调用 'social/respond/id/14' 它会正确分配值,而当我使用 jq_link 调用时却没有呢?我在函数中做一个作为输入传递的值的“回声”,而不是字段的设置值,它工作正常。

谢谢。

表格代码..

public function setDefaultEntityId($id_response=0)
  {
   if($id_response!=0){
     $this->setDefault('sf_opinion_id',$id_response);   
   }
   $this->configure();
  } 

模板意见

<?php echo jq_link_to_remote('opinar', 
                 array(
                        'update' => 'respuesta_hidden_'.$opinion->getId(), 
                         'url'  => 'social/responder?id_response='.$opinion->getId()),array('rel' => 'nofollow','class' =>'mini')

); ?>

动作响应者

$this->form = new OpinionResForm();

$this->form->setDefaultEntityId($request->getParameter('id_response'));

// formulario opiniones
if($request->isMethod(sfRequest::POST))
{
    $this->form->bind($request->getParameter($this->form->getName()));
    if ($this->form->isValid()) {
    $opinion = $this->form->save();  
    }
}

最后,生成代码的示例...

<a onclick="jQuery.ajax({type:'POST',dataType:'html',success:function(data, textStatus){jQuery('#respuesta_hidden_1').html(data);},url:'/sfproject/zampalo/web/frontend_dev.php/social/responder/id_response/1'}); return false;" href="#" class="mini" rel="nofollow">opinar</a>

我希望这会有所帮助...... :)

4

1 回答 1

0

嗯,它看起来很干净 - 我不确定问题是什么。但是,我不确定您为什么以以下形式执行此操作:

if($id!=0){
  $this->setDefault('id_elemento',$id);
}
if($id_response!=0){
  $this->setDefault('id_elemento',$id_response); 
}

您为 id_elemento 设置了两次默认值 - 如果 $id 和 $id_response 不为 0,则 id_elemento 首先设置为 $id,然后 $id_response... 这听起来不对。

于 2010-04-28T16:16:03.743 回答