2010-04-26 16 views
0

Hy,problème avec Symfony jq_link_to_remote

J'utilise la fonction jq_link_to_remote pour charger dans une div un formulaire pour faire des réponses à un commentaire (comme dans facebook). Mon problème est que j'appelle ce formulaire comme ça 'social/respond/id/14' où id content l'opinion parentale. Je crée une fonction qui setValue à un champ caché dans mon formulaire. Puis, pourquoi, si j'essaie d'appeler directement 'social/respond/id/14', il affecte correctement la valeur et quand je le fais avec jq_link appel non? Je fais un 'echo' de la valeur passée en tant qu'entrée dans la fonction que la valeur définie du champ et cela fonctionne bien.

Merci.

code blan ..

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

avis de modèle

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

); ?>

l'action répondeur

$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(); 
    } 
} 

Et enfin, un exemple de code généré ...

<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> 

J'espère que ça aide ... :)

+0

Les problèmes AJAX sont difficiles à déboguer sans quelques exemples de code - pouvez-vous fournir le code de l'action symfony ciblée, le fragment jq_link_to_remote' et le code HTML résultant de la fonction 'jq_link_to_remote'? – Raise

+0

ajouté plus d'informations;) merci Raise – nebur85

Répondre

0

Hmm, ça a l'air propre - je ne suis pas sûr du problème. Cependant, je ne sais pas pourquoi vous faites cela sous la forme:

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

vous définissez la valeur par défaut pour id_elemento deux fois - si id $ et id_response $ ne sont pas 0, id_elemento se prépare à $ id d'abord, alors $ id_response ... ce qui ne sonne pas bien.

+0

Je vais essayer plus tard, mais il semble que ce soit le problème ... :( Merci beaucoup Raise! – nebur85

+0

Je ai édité des informations.Ne fonctionne toujours pas :( Si je cours. .. social/responder/id_response/1 directement cela fonctionne, via jquery pas :( – nebur85

+0

Soulevez ... une idée? Comment puis-je le tester ou savoir ce qui échouent? – nebur85