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

Struts 1 Java Discussion :

Arreter un HTML:SUBMIT ?


Sujet :

Struts 1 Java

  1. #1
    SrK
    SrK est déconnecté
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Points : 83
    Points
    83
    Par défaut Arreter un HTML:SUBMIT ?
    Bonjour,

    J'aimerais savoir s'il était possible d'arreter un html:submit ?

    En effet, j'aimerais faire le submit() que si certaines conditions sont vérifiées.

    Le problème est que du fait que j'utilise la classe lookupdispatchaction, je ne peux utiliser un html:button, pour faire ca. (ou sinon je devrais utiliser un bouton cacher, et ca serait pas tres beau)

    Pour expliquer avec du code, si j'ai pas été clair, voila comment ca fonctionne avec un html:button:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:button property="submit" onclick="if(...) { alert('...')} else submit()') ">
    <bean:message key="bouton.dupliquer" />
    </html:button>
    Avec le html:buton, l'action est lancée, dans tous les cas.

    une idée ?

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 65
    Points : 69
    Points
    69
    Par défaut
    Bonjour,

    Pour ma part je ne chercherais pas à bloquer le retour au serveur, mais je passerais par la validation des champs soit par le plugin validator, soit en passant par la méthode validate d'un ActionForm.

    Si les conditions ne sont pas remplies, au lieu de faire ton alert(), tu retournes sur la même page et tu affiches les erreurs.

    Il me semble que l'utilisation d'un LookupDispatchAction ne pose pas de problème pour la validation.

    Thomas

  3. #3
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Je suis d'accord avec tetram51.

    Tout dépend du contrôle que tu souhaites faire mais il est certain qu'il vaut mieux le faire, soit au niveau de l'ActionForm si c'est lié à un champ du formulaire, soit au niveau de l'Action si c'est un contrôle de type "métier", avec redirection vers la même page et affichage d'un message (surtout que tu sais comment faire maintenant, n'est-ce pas ? ).

  4. #4
    SrK
    SrK est déconnecté
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Points : 83
    Points
    83
    Par défaut
    hihi, oui je sais a peu pret utilisé le validator mais le problème c'est qu'ici la vérification n'est pas systématique.
    En fait en gros, c'est un bouton qui doit pr pouvoir fonctionné, avoir une selection dans une liste.
    Cependant, la selection dans la liste n'est pas obligatoire pour mon formulaire !
    C'est seulement si je décide d'éffectuer l'action liée a ce bouton.

    Donc, je ne pense pas que c'est possible de le faire à l'aide du plugin validator, à la limite c'est possible de le faire dans l'action mais ca ne serait pas non plus génial quoique, mtnt qu'on y réfléchit... je sais pas lol

    Sinon, si vous comprenez l'utilisation du validateRequiredIf, peut être que ca sert a ca : http://struts.apache.org/struts-doc-...ervletRequest) Cependant,la description est assez succinte.

    Donc, vous pensez que je dois traité l'erreur dans l'action ?

  5. #5
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Si tu préfères faire le test dans la jsp, tu as peut-être une autre solution, c'est de conditionner l'affichage du bouton via le tag c:if de la JSTL.

    A voir si ça te convient.

  6. #6
    SrK
    SrK est déconnecté
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Points : 83
    Points
    83
    Par défaut
    hihi c'est du paufinage la, j'ai pas trop envi de me relancé dans un nouveau truc

  7. #7
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Bonsoir,
    il y a une possibilité d'arreter ton submit en javascript en appelant ta fonction javscript sur l'evenement onSubmit de ton formulaire.

    * Dans ta JSP :

    <html:form .... onsubmit="return myFunctionOnSubmit()">

    * dans ta fonction javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script>
    function myFunctionOnSubmit() {
         if (...) {
           // si item de la liste liste PAS selectionne, arret du submit
           return false;
        }
        // Un item est selectionne, le submit peut se declencher
        return true;
    }
    Angelo

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 65
    Points : 69
    Points
    69
    Par défaut
    Si tu utilises le plugin validator, tu peux également utiliser la dépendance validWhen, qui permet de faire des tests plus complexes.

    Va faire un tour sur la doc de struts c'est expliqué.

    Thomas

  9. #9
    SrK
    SrK est déconnecté
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Points : 83
    Points
    83
    Par défaut
    effectivement ca aurait été la solution, mais d'apres ce que j'avais compris quand j'ai lu la doc, c'est pour faire de la dépendance entre champs ?

    Or, dans mon cas, c'est le controle d'un champ lorsque j'appuie sur un bouton.

    Ce que j'avais pensé faire, c'est définir des règles dans la méthode validate.
    En effet, je récupererais le label du bouton sur lequel j'ai appuyé, et si c'est lui, alors tel ou tel champ doit être renseigné. Pensez vous que c'est correct ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 65
    Points : 69
    Points
    69
    Par défaut
    Oui, çà me paraît très bien.

    Il me semblait que tu pouvais faire des tests semblables avec valid when, mais je peux me tromper :-)

  11. #11
    SrK
    SrK est déconnecté
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Points : 83
    Points
    83
    Par défaut
    Petite astuce, j'ai un peu galéré la dessus...

    Pour allé chercher un texte dans le ficchier ressource, lorsque l'on est dans un ActionForm il faut faire de la facon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MessageResources mr = (MessageResources) request.getAttribute(Globals.MESSAGES_KEY);
    		String toto = mr.getMessage(request.getLocale(),"cle.toto");

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

Discussions similaires

  1. probleme avec html:submit
    Par _bobo dans le forum Struts 1
    Réponses: 8
    Dernier message: 28/08/2007, 10h02
  2. Probleme html:submit, et CSS
    Par D.Mounir dans le forum Struts 1
    Réponses: 8
    Dernier message: 24/08/2007, 14h31
  3. [HTML]submit d'un form
    Par stud77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 05/07/2006, 16h50
  4. <html:submit> d'un formulaire
    Par DanZzz dans le forum Struts 1
    Réponses: 3
    Dernier message: 07/06/2006, 16h10
  5. [HTML] submit & target
    Par MANU_2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 07/09/2005, 08h29

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