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 :

Valider formulaire contenant deux listes avec Entrée


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 163
    Points : 76
    Points
    76
    Par défaut Valider formulaire contenant deux listes avec Entrée
    Bonjour,

    Je souhaiterai pouvoir valider mon formulaire sur mon html:submit en appuyant sur entrée. Le souci c'est que mon formulaire contient deux listes html:select et cela ne marche pas comme quand on a des champs simples.
    j'ai essayé de mettre onload="document.getElementById('acteur').focus();" dans mon body mais pour que ça marche il faut cliquer à coté (n'importe où sur la page).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <html:select name="loginForm" property="acteur" styleClass="" onchange="LoadListServices()">
       <html:options collection="Acteurs" property="value" labelProperty="label"/>
    </html:select>	
    <html:select name="loginForm" property="service" styleClass="">
       <html:options collection="Services" property="value" labelProperty="label"/>
    </html:select>
    <html:submit property="connecter"><bean:message bundle="application" key="bouton.valider"/></html:submit>
    Si quelqu'un a une idée. merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Et si tu mets ton focus sur ton bouton submit ?

    Je propose ca, mais en fait, je n'ai pas bien compris ta question. Tu n'arrives jamais à submitter avec ENTREE ? Ou tu as juste le problème quand tu ne cliques nulle part et que tu veux submitter directement après l'affichage de la page ? Peux-tu décrire les cas où ca marche, et ceux où ca ne marche pas ?

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 163
    Points : 76
    Points
    76
    Par défaut
    Cela ne marche que si j'ai cliqué ailleurs dans la page. Si j'appuie direct sur Entrée, ça marche pas.
    Sinon, tu fais comment pour mettre le focus comme tu proposais?
    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Tout simplement par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:submit property="connecter" styleId="buttonConnecter"><bean:message bundle="application" key="bouton.valider"/></html:submit>
    et :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onload="document.getElementById('buttonConnecter').focus();"
    Tu peux aussi t'épargner d'ajouter un styleId (qui se transforme en "id" au rendu html) en passant par le name :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.tonForm.connecter.focus();
    P.S. : Tout bien réfléchi, je pense que le problème est là, tu fais un getElementById, mais tu cherches en fait le name (= le property de ton champ struts) de ton champ. A mon avis, en faisant la même manip que je t'ai indiquée sur ton champ acteur (donc, en ajoutant un styleId, ou en passant par le name, et non l'id), ca devrait marcher.

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 163
    Points : 76
    Points
    76
    Par défaut
    Effectivement ça marche à l'arrivée sur ma page.
    Sauf que je suis obligé de sélectionner un objet dans mes deux listes et du coup le bouton entrée ne marche plus car dès que je sélectionne un objet je recharge la page car j'ai un onselect dans chaque.

  6. #6
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 163
    Points : 76
    Points
    76
    Par défaut
    Non je me suis trompé. Quand je sélectionne un objet dans ma première liste et que j'appuie sur entrée ça marche, par contre si je sélectionne dans ma deuxième liste ça ne marche pas.
    Merci

  7. #7
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 163
    Points : 76
    Points
    76
    Par défaut
    Parceque justement j'ai un "onchange" dans le premier mais pas dans le deuxième

  8. #8
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 163
    Points : 76
    Points
    76
    Par défaut
    j'ai trouvé lé soluce:
    J'ai rajouté un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onchange="document.getElementById('buttonSubmit').focus();"
    Dans ma deuxième liste.
    merci beaucoup, bonne soirée

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    En effet, après test, il semble bien que la touche ENTREE ne valide pas un formulaire quand le focus est sur une combo.
    Je te suggère donc, dans ton onchange, d'ajouter un script pour changer le focus (le mettre aussi sur le bouton submit par exemple), et de voir si ca se comporte bien.

    EDIT : bon, ben c'est fait

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

Discussions similaires

  1. [FAQ] Les formulaires (partie 2) Comment lier deux listes déroulantes entre elles ?
    Par Auteur dans le forum Contributions JavaScript / AJAX
    Réponses: 15
    Dernier message: 18/12/2013, 11h15
  2. [XL-2007] Comment créer une dépendance entre deux listes avec des données issus d'un tableau?
    Par efesdark dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/07/2011, 16h22
  3. validation formulaire contenant input généré par javascript
    Par CedLeDebutant dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 04/10/2007, 13h55
  4. Faire defiler deux listes avec une scroll bar
    Par mcdelay dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/05/2007, 14h54

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