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 :

Action directe javascript sur anchore


Sujet :

JavaScript

  1. #1
    Membre éprouvé
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 204
    Points : 918
    Points
    918
    Par défaut Action directe javascript sur anchore
    Bonjour, je poste dans débutant car ma question est de ce niveau ...
    J'ai un lien qui appel une fonction type
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#"  onclick="LBlog()"> Les Blogs</a>

    Ors pour deux liens la fonction ne fait que changer une variable publique...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function LBlog() { 
    menu="zzz/Leblog.php";
    }
    quelle syntaxe je pourrais mettre dans mon onclic pour changer directement ma variable ?
    Mille merci d'avance et on ne se moque pas de ma question

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 667
    Points
    44 667
    Par défaut
    Bonjour,
    quelle syntaxe je pourrais mettre dans mon onclic pour changer directement ma variable ?
    de quelle variable parles-tu ?

  3. #3
    Membre éprouvé
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 204
    Points : 918
    Points
    918
    Par défaut
    Bonjour, faire tout simplement changer la valeur de la variable menu ,tu avais pas vu mon code ?

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 667
    Points
    44 667
    Par défaut
    faire tout simplement changer la valeur de la variable menu
    ben c'est ce que ton code fait, mais ... on ne sait pas ce que représente ta variable menu ... car comme tu poses la question on s'interroge sur le contexte exécution de ton code !!!

    En résumé ta fonction fait ce que tu demandes !

  5. #5
    Membre éprouvé
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 204
    Points : 918
    Points
    918
    Par défaut
    Bon je dois mal m'expliquer, je souhaite savoir si au lieu d'appeler cette fonction qui comme tu le dit marche je pouvais
    le faire directement dans le onclic
    Dans ma question du premier message j'avais écrit
    "quelle syntaxe je pourrais mettre dans mon onclic pour changer directement ma variable ?"
    C'était pas clair ou il faut aller chercher ma réponse sur un autre forum ?
    Merci tout de même d'avoir déplacé mon message au bon endroit, et d'avoir cherché à m'aider...

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 667
    Points
    44 667
    Par défaut
    Bon je dois mal m'expliquer, ...
    pas forcément mais souvent avant de répondre n'importe quoi on préfère être sûr de ce que l'on a compris plutôt que répondre à côté de la plaque et se passer pour des c... !
    d'autant qu'il y avait également :
    Ors pour deux liens la fonction ne fait que changer une variable publique...


    Ceci étant, Si tu veux une réponse alors je vais juste te donner mon avis qui vaut ce qu'il vaut, c'est à dire pas grand chose en ce bas monde.

    Il y a au moins trois façons d'écrire ce que tu veux faire.

    #1 la dégu..asse, ce que tu veux faire
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="menu='encore autre chose'">Autre action</a>
    pour rappel, tout ce qui est contenu dans la chaine associée à l'événement onclick est interprétée à chaque clic et est considéré comme une commande JavaScript, donc tu peux tout à fait le faire sous condition que ta variable menu soit présente dans ton code et encore !

    C'est la pire façon de faire, pour moi, on noie le JavaScript dans le HTML, on est loin de la séparation HTML-CSS-JS.


    #2 la pas trop pire, ce que tu as fait
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="action()">Action</a>
    Appel à une fonction définie dans le code JavaScript, pas très propre mais bien souvent suffisant, ici aussi on ne sépare pas HTML-CSS-JS.


    #3 la propre, mais elle c'est aussi la plus verbeuse et elle file de l'urticaire à certains

    Pour commencer on n'utilise pas un élément <a> mais un élément <button> qui est conçu pour cela et bien plus sémantique.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <button>btn-Action</button>

    Pour poursuivre on sépare CSS-HTML-JS pour avoir un code clair et facilement maintenable, par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    let menu = "quelque chose";
     
    function action() {
      menu = "autre chose";
    }
    const oBtn = document.querySelector("button");
    // version courte
    oBtn.onclick = action;
    // version verbeuse avec fonction anonyme
    oBtn.addEventListener("click", function () {
      menu = "la chose du button";
    });
    On notera qu'avec cette méthode il existe plusieurs façons de faire...


    #... Donc en résumé, pour être sûr de répondre à ta question tu peux utiliser la #1.


    C'était pas clair ou il faut aller chercher ma réponse sur un autre forum ?
    Tu fais bien comme tu veux.

    Pour rappel au cas où ... aucun des membres de DVP n'a d'obligation de réponse, donc ... bon vent !

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

Discussions similaires

  1. Extraction de pages sur adobe reader 9 pro via action en JavaScript
    Par stef34970 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/11/2015, 08h24
  2. Réponses: 3
    Dernier message: 05/08/2008, 11h17
  3. Localiser l'action du javascript sur une frame
    Par iks22 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/01/2007, 19h34
  4. javascript sur une page creation flash mx
    Par hadjplasma dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/08/2005, 12h06
  5. Réponses: 4
    Dernier message: 27/04/2004, 14h45

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