cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marc Salvetti" <salvetti.m...@gmail.com>
Subject Re: Validation de formulaire Ajax
Date Thu, 15 May 2008 07:47:02 GMT
Si mon souvenir est bon, normalement dans le html tu devrais voir sur tes
actions ajax qqchose du genre onclick="submit_form(this)" (ajouté
automatiquement par le block forms sur les widgets) qui va envoyer une
requete xmlhttprequest, laquelle doit etre ensuite traitee au niveau de la
sitemap de facon a renvoyer uniquement les elements a mettre a jour (les
bu:replace)

en gros, dans ton pipe final il faut qq chose comme

...
         <map:transform type="browser-update"/>
...
        <map:select type="ajax-request">
            <map:when test="true">
                <map:serialize type="xml"/>
            </map:when>
            <map:otherwise>
                <map:serialize type="html"/>
            </map:otherwise>
        </map:select>


il faut aussi preciser au niveau des widgets qu'ils doivent envoyer le form
sur le onchange ce qui doit creer les onclick=form_submit :

                                <ft:widget id="****">
                                    <fi:styling submit-on-change="true"/>
                                </ft:widget>


Le 15 mai 2008 14:12, <andre.davignon@free.fr> a écrit :

> Bonjour,
>
> Merci pour la réponse.
> Oui, j'ai bien un pipe qui traite ça :
>
> <map:match type="request" pattern="continuation-id">
>         <map:call continuation="{request-param:continuation-id}"/>
> </map:match>
>
> J'ai essayé celui que tu me conseilles et là, les actions Ajax ne
> fonctionnent
> plus. je crois comprendre :
>
> Mes actions Ajax déclenchent des POST du genre :
> http://serveur/appli/%5Bobject%20HTMLInputElement%5D
>
> Cela ne pose pas de problème pour les actions Ajax (ajout de ligne de
> repeater,
> qui fonctionne), mais en pose lors de la validation globale du formulaire.
>
> Après m'être renseigné sur ce type de problème, il semblerait que l'action
> du
> formulaire ne soit pas appelée, car non "reconnue". Et je ne sais pas
> pourquoi.
> Et donc, ton pipe n'est pas exécuté...
>
> Par contre les POST "manuels" continue.html fonctionnent bien, ce qui veut
> dire
> que ton pipe est efficace, le formulaire est validé et le sendPage bien
> exécuté.
>
> Reste à faire en sorte que les POST appellent bien l'action associée au
> formulaire.
>
> Une idée ?
>
> André Davignon
>
>
>
> Le 15/05/2008 06:20, > Marc Salvetti (par Internet, dépôt
> users-fr-return-2058-andre.davignon=equipement.gouv.fr@cocoon.apache.org)
> a
> écrit  :
> > Bonjour André,
> >
> > est-ce que tu as bien un pipe pour la continuation.
> >
> > Dans mon appli j'ai plutot qq chose comme ca et ca marche bien :
> >
> > <ft:form-template action="continue.html" method="post" ajax="true">
> >     <ft:widget id="continuation-id"><fi:styling
> type="hidden"/><fi:styling
> > value="#{$cocoon/continuation/id}"/></ft:widget>
> >
> > et dans la sitemap
> >
> >         <map:match pattern="**continue.html">
> >                     <map:call
> > continuation="{request-param:continuation-id}"/>
> >         </map:match>
> >
> > Marc
> >
> >
>
> ---------------------------------------------------------------------
> Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
> Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
> Autres commandes : mailto:users-fr-help@cocoon.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message