2010-04-26 43 views
0

海兰,Symfony的问题jq_link_to_remote

我使用jq_link_to_remote功能在一个div加载表单做答案评论(像在Facebook中)。我的问题是,我把这种形式称为'social/respond/id/14',其中id的内容是父母的意见。我创建了一个将Value设置为表单中隐藏字段的函数。

那么,为什么如果我试图直接调用'社会/响应/ 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> 

我希望帮助... :)

+0

如果没有一些代码示例,AJAX问题很难调试 - 您是否可以为目标symfony动作提供代码,'jq_link_to_remote'代码段,以及来自'jq_link_to_remote'函数的结果HTML? – Raise 2010-04-27 11:44:42

+0

增加了更多的信息) 感谢提高 – nebur85 2010-04-27 13:07:28

回答

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 ...这听起来不对。

+0

以后我会尝试,但似乎是问题... :( 谢谢你这么多提高 – nebur85 2010-04-29 06:41:30

+0

我编辑的信息仍然没有工作:( 如果我跑!。 ..社会/ responder/id_response/1直接它的工作,通过jquery没有:( – nebur85 2010-04-29 14:10:58

+0

提高...任何想法?我怎么测试它或知道什么是失败? – nebur85 2010-05-03 06:47:57