2010-04-26 41 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