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 :

Récupérer une variable dans un onClick


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 122
    Par défaut Récupérer une variable dans un onClick
    Bonjour,

    J'ai un formulaire qui contient cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<li><a href="#" onclick="autocompleteTitre()">'.htmlentities($item).'</a></li>';
    La fonction autocomplete est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function autocompleteTitre()
    {
    var msg = "blabla";
    var obj = document.getElementById("monDiv");
    obj.value= msg;
    }
    L'idée est que l'événement onClick va déclencher l'affichage du message "blabla" dans le div sélectionné (en l'occurrence, "monDiv").

    Ce qui marche très bien.

    Mais comment puis-je faire pour, au lieu de "blabla", utiliser une variable qui aura été définie en PHP juste avant mon formulaire ?

    J'avais cru qu'on pouvait faire un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $monMessage = "test";
    echo '<li><a href="#" onclick="javascript:autocompleteTitre('.$monMessage.')">'.htmlentities($item).'</a></li>';
    Mais ça ne marche pas.


    Ce sont des subtilités de passage entre langage client/serveur qui sont trop complexes pour moi

    Merci par avance !

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Ton code PHP est bon, la seule chose qu'il ne faut pas oublier c'est que lors du déclenchement de ta fonction JS, un paramètre est maintenant attendu: le message ( javascript:autocompleteTitre('.$monMessage.') ) !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function autocompleteTitre(msg)
    {
    var obj = document.getElementById("monDiv");
    obj.innerHTML= msg;
    }
    Et si tu renseignes une DIV, c'est la propriété innerHTML que tu devrais affecter.

    ERE

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 122
    Par défaut
    Merci pour ta réponse, c'était en effet un élément qui manquait.

    Cela dit ça ne marche toujours pas, il n'arrive même pas jusqu'à la fonction. Comme s'il s'arrêtait à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<li><a href="#" onclick="javascript:autocompleteTitre('.$monMessage.')">'.htmlentities($item).'</a></li>';
    Ce qui est curieux c'est que ça marche sans variable avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<li><a href="#" onclick="autocompleteTitre()">'.htmlentities($item).'</a></li>';

  4. #4
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Oups,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<li><a href="#" onclick="javascript:autocompleteTitre(\''.$monMessage.'\')">'.htmlentities($item).'</a></li>';
    ERE

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 122
    Par défaut
    J'en étais arrivé à cette même conclusion !

    Ca marche mieux en effet Et si je veux passer deux variables, cela donnerait quoi ?

  6. #6
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Citation Envoyé par cyberlp Voir le message
    J'en étais arrivé à cette même conclusion !

    Ca marche mieux en effet Et si je veux passer deux variables, cela donnerait quoi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    echo '<li><a href="#" onclick="javascript:autocompleteTitre(\''.$monMessage.'\',\''.$monMessage2.'\')">'.htmlentities($item).'</a></li>';
     
    function autocompleteTitre(msg1,msg2)
    {
    var obj1 = document.getElementById("monDiv1");
    obj1.innerHTML= msg1;
    var obj2 = document.getElementById("monDiv2");
    obj2.innerHTML= msg2;
     
    }
    ERE

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 122
    Par défaut
    J'en suis maintenant à récupérer ces variables depuis une BDD, et tout à l'air de fonctionner.

    Merci encore !

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 21/05/2007, 00h33
  2. [SQL] récupérer une variable dans un trigger
    Par zekiller3 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/05/2007, 14h48
  3. [Conception] Récupèrer une variable dans une liste déroulante
    Par olivier94 dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 21/02/2007, 12h12
  4. Récupérer une variable dans un script javascript
    Par Finelarme dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/10/2006, 18h41
  5. récupérer une variable dans un select case
    Par rob2-9 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 23/12/2005, 10h54

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