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

JavaScript Discussion :

onClick dans une balise <a href> [Débutant(e)]


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de coshibe
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 183
    Points : 406
    Points
    406
    Par défaut onClick dans une balise <a href>
    Bonjour à toutes et à tous,

    Je souhaite configurer mon menu en javascript. ainsi j'ai un élément de mon menu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            <li>
                    <a href="#" onclick="clickEvenement(<%=ecranMenu.MENU_GRILLES_BASE%>; return false)"> Grille Base</a>
            </li>
    voici la fonction clickEvenement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
           function clickEvenement(valeurEvenement){
    	document.formulaire.evenement.value = valeurEvenement;
    	document.formulaire.methode = "post";
    	document.formulaire.submit();
    }
    Et comme c'est la premiere fois que je me frotte au javascript j'ai du mal à voir si ce que je fais est bon ou non, car je sais que les pseudos url peuvent poser problème et en l'occurence chez moi c'est le cas puisque lorsque je clique ca rajoute juste un #à l'url... alors que je voudrai qu'il execute ma fonction clickEvenement.

    Une idée?

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="clickEvenement(<%=ecranMenu.MENU_GRILLES_BASE%>);return false;)
    Et à part ça ... c'était quoi la question ?..

  3. #3
    Membre averti Avatar de coshibe
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 183
    Points : 406
    Points
    406
    Par défaut
    J'avais malencontreusement posté avant de finir d'ecrire...^^ j'ai édité

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par coshibe
    J'avais malencontreusement posté avant de finir d'ecrire...^^ j'ai édité
    Ca n'enlève rien au fait que la réponse de Spaffy est juste

  5. #5
    Membre averti Avatar de coshibe
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 183
    Points : 406
    Points
    406
    Par défaut
    c'est corrigé et malgré cela rien n'y fait...

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Non je pense que tu as mal lu ma réponse .
    peut on voir le nouveau code de ta balise a ?

  7. #7
    Membre averti Avatar de coshibe
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 183
    Points : 406
    Points
    406
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            <li>
                    <a href="#" onclick="clickEvenement(<%=ecranMenu.MENU_GRILLES_BASE%>); return false;"> Grille Base</a>
            </li>
    --petit c dans onclick
    --";" apres le click evenement et apres le return

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Sinon, il y a aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.formulaire.methode = "post";


    JavaScript ne parle pas français
    Donc c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.formulaire.method = "post";

  9. #9
    Membre averti Avatar de coshibe
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 183
    Points : 406
    Points
    406
    Par défaut
    Pourtant mon clickEvenement marche tres bien dans : une balise INPUT :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input name="btnRechercher" type="submit"  value=<%=ecranUO.libelleBouton("Rechercher",15)%> 
    	onClick="clickEvenement(<%=ecranUO.BOUTON_RECHERCHER%>)" tabindex="1">
    donc je ne suis pas sur que ca soit utile de changer la fonction Bovino.

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par coshibe
    Pourtant mon clickEvenement marche tres bien dans : une balise INPUT
    Que ça marche est une chose, savoir pourquoi en est une autre

    Lorsque tu cliques sur ton submit, cela déclenche la fonction.
    La première ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.formulaire.evenement.value = valeurEvenement;
    est correctement interprétée, donc la valeur de ce champ est modifiée.
    La seconde ligne pose problème (à moins que tu aies un champ dont le name est methode, mais là, ce serait s'embrouiller pour le plaisir...), le formulaire ne possède pas de propriété methode et pas de champ dont le name est methode, il crée donc une propriété methode au formulaire, mais ne change pas l'attribut method !
    Quant à la dernière ligne... appeler la méthode submit() après avoir cliqué sur un submit, l'intérêt me semble assez limité

    Pour te convaincre de cela, essaye en modifiant ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function clickEvenement(valeurEvenement){
    	document.formulaire.evenement.value = valeurEvenement;
    	alert(document.formulaire.methode + ' / ' + document.formulaire.method);
    	document.formulaire.methode = "post";
    	alert(document.formulaire.methode + ' / ' + document.formulaire.method);
    	document.formulaire.submit();
    }

  11. #11
    Membre averti Avatar de coshibe
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 183
    Points : 406
    Points
    406
    Par défaut
    Merci Bovino ca me parait plus clair et je pense avoir trouver d'ou vient mon erreur.

    En fait la partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <li>
                    <a href="javascript:clickEvenement(<%=ecranMenu.MENU_GRILLES_BASE%>)"> Grille Base</a>
            </li>
    je l'importe via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jsp:include page="../menus/leftMenu.html" />
    sans l'include, quand j'incorpore directement le code ca marche tres bien. Pourquoi est ce qu'avec l'include ca coince?

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    javascript dans un href
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
     <a href="#" onclick="clickEvenement(<%=ecranMenu.MENU_GRILLES_BASE%>); return false;"> Grille Base</a>
    a condition que tu passes un integer en prarmètre

  13. #13
    Membre averti Avatar de coshibe
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 183
    Points : 406
    Points
    406
    Par défaut
    J'arrive à le faire marcher grace à toi SpaceFrog, Dans am classe EcranMenu je defini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static final int MENU_GRILLES_BASE = 1001;
    Donc quand j'adapte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <li>
                    <a href="javascript:clickEvenement(1001)"> Grille Base</a>
            </li>
    Ca marche...

    Est ce que ca veut dire qu'a cause de l'include il ne peut pas lire le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%=ecranMenu.MENU_GRILLES_BASE%>
    et surtout pourquoi?

    En tout cas merci pour tout. J'ai enfin un menu opérationnel!!!!!!!!!!!

  14. #14
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ça à l'air de relever plus de JSP qu'autre chose ...

    perso je bannis le javascript dans le href ...

    que donne le html généré avec mon code ?

  15. #15
    Membre averti Avatar de coshibe
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 183
    Points : 406
    Points
    406
    Par défaut
    Il ne veut pas en entendre parler, Je m'explique, il apparait bien dans le html mais il n'est pas interprété apparement. du coup il va à l'adresse "#"....

    donc solution finale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <li>
                    <a href="javascript:clickEvenement(1001)"> Grille Base</a>
            </li>
    J'ai lu dans un autre topic sur le site :
    l'explication est la suivante :
    - <% include ... inclut le fichier tel quel. C'est comme si tu faisais un copier coller dans ta page. Donc tu n'as pas besoin de redéfinir tous tes imports de taglibs, etc... (Si tu le fais tu auras une erreur d'ailleurs).

    - <jsp:include inclut une page jsp indépendante (Qui doit définir ses propres imports de taglibs, etc...).

    C'est donc pour ca que ton code n'est pas interprété (L'import de la taglib contenant <h:...> n'est pas fait et donc il ne comprend pas. Par contre, avec le <% include ... , l'import est déjà fait plus haut, donc pas de problème.
    Il faut donc que tu refasses tes imports en haut de ta page inclut.

    Voila...
    d'ou les problemes que j'ai avec <jsp:include

  16. #16
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    il apparait bien dans le html
    on peut voir le html généré ?

  17. #17
    Membre averti Avatar de coshibe
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 183
    Points : 406
    Points
    406
    Par défaut
    exactement la meme chose que ce que tu m'as donné




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <ul id="menu">
     
            <li>
     
                   <a href="#" onclick="clickEvenement(<%=ecranMenu.MENU_GRILLES_BASE%>); return false;"> Grille Base</a>
            		<!-- <a href="javascript:clickEvenement(1001)"> Grille Base</a>-->
            </li>

  18. #18
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="clickEvenement(<%=ecranMenu.MENU_GRILLES_BASE%>); return false;">
    le code jsp n'est pas interprété !

  19. #19
    Membre averti Avatar de coshibe
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 183
    Points : 406
    Points
    406
    Par défaut
    c'est ce que je disais :
    il apparait bien dans le html mais il n'est pas interprété

  20. #20
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ????
    ben comment tu fais d'habitude pour faire tes pages .... ???

    Ton fichier a quelle extension ??

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Pb avec OnClick dans une balise img
    Par William-Brenouille dans le forum Langage
    Réponses: 2
    Dernier message: 18/01/2012, 23h00
  2. Pb avec OnClick dans une balise img
    Par William-Brenouille dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 18/01/2012, 22h58
  3. dans une balise A, vaut-il mieux mettre le javascript dans href ou dans onclick ?
    Par clavier12AZQSWX dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/10/2010, 12h04
  4. [RegEx] preg_replace dans une balise href
    Par jani dans le forum Langage
    Réponses: 6
    Dernier message: 12/12/2008, 15h10
  5. [XSLT] inclure du XSL dans une balise html
    Par iaa dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 05/08/2002, 15h57

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