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 :

getElementById et variable en parametre


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2012
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 15
    Par d�faut getElementById et variable en parametre
    Bonjour a tous !

    La question a �t� maintes fois abord�e...
    Diverses solutions/problemes sont apparus, vu et revu parmis tant de forums... Et pourtant pas moyen de trouver la solution de mon cot�.
    Jusqu'a pr�sent j'avais contourn� le probleme, mais c'est pas en contournant H24 que je r�soudrais mes lacunes, donc je viens ici afin de parfaire mes comp�tence et palier a mon inculture

    Voici la bete :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    function demo(val){
    	alert(val.toString) ; // Retourne 50
    	alert(document.getElementById(val).innerHTML); // retourne une erreur (GEBI(val) is null)
    	alert(document.getElementById("50").innerHTML); // retourne le contenu de la div dont l'id est 50 (le resultat attendu)
    }
    Vous noterez que cette fonction n'est pas celle de base, mais un raccourci afin de nous �viter le superflu...
    J'ai donc une fonction qui recupere une variable "val" qui est en r�alit� un "string" (ma page Html contient une centaine de div numerot�es de 1 a 100 => Un jeu de l'oie grosso modo).
    Le concept est d'afficher la div dans une popup grace a cette fonction demo (mais comme dis juste avant je n'ai aucun probleme avec le popup la n'est pas e probleme je l'ai donc effac� volontairement).

    Le probleme vient donc de cette fameuse variable que je passe en parametre dans mon GetElementById...

    Le ToString() me permet de dire que c'est bien une variable de type String (qui dans l'exemple vaut 50).
    Le deuxieme alert est ce que j'aimerais obtenir mais c'est la ou le bas blesse, je n'y arrive pas.
    Le Troisieme alert quant a lui me confirme que l'id "50" existe bien et qu'y'a pas de soucis a ce niveau.

    En clair, pourquoi mon val ne s'interprete pas comme un String malgr� les non-guillemets ? Et comment y remedier ?

    Merci d'avance et bonne journ�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 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    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 659
    Billets dans le blog
    1
    Par d�faut
    Un id ne doit jamais �tre exclusivement num�rique ni commencer par du num�rique .
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    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 : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Vous noterez que cette fonction n'est pas celle de base, mais un raccourci afin de nous �viter le superflu...
    C'est une intention louable, mais malheureusement, tu as d� un peu trop "raccourcir" parce qu'en l'�tat, ton code ne pose aucun probl�me...

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <!doctype html>
    <html lang="fr">
    <head>
    	<meta charset="utf-8" />
    	<title>getElementById</title>
    	<script type="text/javascript">
                    function demo(val){
                            //alert(val.toString) ; // Retourne 50
                            alert('1 : ' + document.getElementById(val).innerHTML); // retourne une erreur (GEBI(val) is null)
                            alert('2 : ' + document.getElementById("50").innerHTML); // retourne le contenu de la div dont l'id est 50 (le resultat attendu)
                    }
            </script>
    </head>
    <body>
    	<div id="50">Coucou</div>
    	<button onclick="demo(50)">Tester</button>
    </body>
    </html>
    affiche correctement les deux messages.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  4. #4
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2012
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 15
    Par d�faut
    En effet...
    Parti de ce constat j'ai refais mon truc, et de fait ca marche.

    Apparemment, soit ce bout de code la qui appelait la fonction :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <a href="javascript:lancerF();" class="des">Lancer les Des</a>
    qui merdait, soit le fait que j'passais par une deuxieme fonction pour lancer la popup avec un passage de parametre en plus toussa toussa... De toute facon comme d'habitude j'me complique la vie a vouloir trop structurer/chercher les facons les plus funs, et j'en oublie les bases...

    En tout cas merci bien

  5. #5
    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 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    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 659
    Billets dans le blog
    1
    Par d�faut
    Il faut �viter javascript: dans le href ...
    et pr�f�rer passer par la onclick du lien en inhibant le href

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <a href="#" onclik="lancerF(); return false;" class="des">Lancer les Des</a>
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [fonction] concatener la variable en parametre
    Par afrodje dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 18/10/2007, 15h20
  2. [D7/ReportBuilber] Variable Globale (parametre)
    Par dacid dans le forum Delphi
    R�ponses: 2
    Dernier message: 03/04/2007, 12h34
  3. valeur d'un champ text modifié par une variable en parametre
    Par klimero dans le forum G�n�ral JavaScript
    R�ponses: 21
    Dernier message: 21/04/2006, 10h39
  4. Redirection vers un page avec variable en parametre
    Par gwendy dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 17/10/2005, 18h49
  5. passage d'une variable en parametre
    Par duga dans le forum Langage
    R�ponses: 4
    Dernier message: 11/09/2005, 12h19

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