IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Wicket Java Discussion :

[AjaxButton] Valider un formulaire


Sujet :

Wicket Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Par défaut [AjaxButton] Valider un formulaire
    Bonjour,

    J'ai un formulaire avec un AjaxButton pour la validation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form wicket:id="formulaire">
        [...]
        <input type="image" wicket:id="valider" onclick="submit()" src="validation.jpg"/>
    </form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    new AjaxButton("valider") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            [...]
        }
    };
    Mon problème est que l'attribut "onclick" de la balise <input> est écrasé par wicket. Donc pour valider mon formulaire, je suis obligé de passer par une fonction ajax :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
        target.appendJavascript("submit()");
    }
    J'ai essayé avec un AttributeAppender, mais ça ne marche pas car wicket ajoute un return à la fin du "onclick".

    Je voudrais savoir si il existe un autre moyen de valider mon formulaire sans utiliser ajax.

  2. #2
    Membre chevronné


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par défaut
    Bonjour,

    Je te suggère de récupérer le code source de l'AttributeAppender et de l'adapter pour en faire un AttributePrepender.

    Il te suffira ensuite d'adapter ta fonction pour qu'elle renvoie un booléen fonction de l'état de validation, et d'utiliser l'AttributePrepender pour transformer le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="codeGereParWicket"
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="if (submit()) codeGereParWicket"
    J'ai été amené à le faire pour rajouter des validations JavaScript (confirm()) mais je n'ai pas accès au code en ce moment.

    Eric

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Par défaut
    Pas idiot comme idée. Merci Ricky

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. validation du formulaire de la page ouvrante d'un popup
    Par noa dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/08/2005, 12h11
  2. Réponses: 5
    Dernier message: 24/05/2005, 11h21
  3. Valider un formulaire contenu dans une iframe
    Par snoopy5.0 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/04/2005, 11h14
  4. Valider un formulaire par une image
    Par Fleep dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 31/10/2004, 01h50
  5. [Struts]Validation de formulaire
    Par djoukit dans le forum Struts 1
    Réponses: 4
    Dernier message: 12/03/2004, 09h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo