Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Voici mon problème, lorsque j'ajoute un formulaire Zend_Dojo_Form à ma page via une requête Ajax, ce même formulaire n'est pas initialisé. Par exemple, pour un filteringSelect, je n'ai qu'un simple champs de sélection.
Si quelqu'un a une idée ...
Dernière modification par keun (04-08-2009 18:13:45)
Hors ligne
Salut,
Oui je pense avoir une idée...
Tu as 2 solutions :
1 mettre ca dans un dijit.layout.ContentPane avec un parseOnload
http://docs.dojocampus.org/dijit/layout/ContentPane
2 ajouter dans ton script xhrget ou xhrpost
load: function(reponse, ioArgs){ dojo.byId("reponse").innerHTML=reponse; dojo.parser.parse(dojo.byId('tonForm')); }
Attention quand même avec les forms ajax, il faut si tu réactualises ton form, destroy le avant sinon tu auras une erreur. Ajoute ce code avant de charger ton formulaire et tu n'auras pas de problème.
if (dijit.byId("tonForm")!=null) dijit.byId("tonForm").destroyRecursive();
David
Dernière modification par ledahu (04-08-2009 13:05:13)
Hors ligne
J'ai opté pour la deuxième solution qui fonctionne.
A noter qu'il est nécessaire de spécifier la nature des élèments Dojo du formulaire lors de leur création.
Par exemple :
$filteringSelect->setAttrib('dojoType','dijit.form.FilteringSelect') ;
Merci pour tout.
Dernière modification par keun (06-08-2009 00:29:53)
Hors ligne
Tu n'es pas obligé de faire setAttrib si tu as fait tes includes manuellement.
En effet comme tu fais de l'ajax, zend_dojo ne sait pas quels modules tu utilises donc encore une fois tu as 2 possibilités
1 tu fais comme tu l'écris
2 tu charges sur ta page principale tous les modules que tu utilises dans ton form.
David
Hors ligne
Pages: 1