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ération variable et getElementById("radical_"+i)


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Par défaut Récupération variable et getElementById("radical_"+i)
    Bonjour,

    je n'arrive pas a récupérer ma variable "radical_ + i" dans ma page PHP.

    Avec mon code actuel, et : document.write(radical_ + i); j'obtiens une page blanche avec la valeur de ma variable et non la valeur de la variable dans la page actuelle.
    Je voudrait la récupérer et l'afficher dans la page actuel et non une page extérieur.

    Code : 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
    19
    20
     <script language="JavaScript">
    function afficherSelect(select_, radical_){
      //-- Init diverses
      var i, oDiv, nb = select_.options.length;
      //-- Masque tout
      for (i = 0; i < nb; i++) {
        oDiv = document.getElementById( radical_ + i);
        if (oDiv) {
          oDiv.style.display = "none";
        }
      }
      //-- Affiche la DIV concernee
      i = select_.selectedIndex;
    document.write(radical_ + i);
      oDiv = document.getElementById( radical_ + i);
      if (oDiv) {
        oDiv.style.display = "block";
      }
    }
    </script>
    J'ai également essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script language='Javascript' type='text/javascript'> 
       print( document.write(radical_ + i ));
    	</script>
    Mais rien ne fonctionne.
    Merci pour votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2013
    Messages : 19
    Par défaut
    Bonsoir,

    Vous avez essayez un console.log(radical_ + i); pour voir si vous récupérez la valeur ?

  3. #3
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Padam padam…
    http://blog.developpez.com/web/p1065..._en_javascript

    Encore un débutant JavaScript victime des informations trop vieilles qui refusent de disparaître… La route du Web est pavée de mauvaises documentations.

    Comme le suggère Yohann, si ton but est simplement de voir tes variables afin de t'aider dans le développement de ton script, utilise la console (F12 ou Ctrl+Maj+I ou Ctrl+Maj+K ou encore Ctrl+Alt+I suivant le navigateur), c'est bien plus productif qu'un alert ou ce dinosaure document.write.

    À mon avis, tu vas rapidement faire face à un autre problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i = select_.selectedIndex;
    Tu changes la valeur de i au sein de ta boucle for, il y a de grandes chances que ça ne se comporte pas comme tu l'as prévu.

    Petite note : l'attribut language de la balise <script> est obsolète. Utilise l'attribut type si ta page est déclarée XHTML, sinon tu as le droit de ne mettre aucun attribut, c'est autorisé en HTML 5
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Par défaut
    Merci pour vos réponses.
    Yohann, la valeur s'affiche sur la page qui est devenue blanche que j'obtiens après une sélection.
    Je voudrais que la valeur s'affiche normalement dans la page normale (page du début).
    De plus je veux éviter d'utiliser certaines commandes, car je suis en php4.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2013
    Messages : 19
    Par défaut
    La commande console.log(); c'est en javascript.

    Il faut que tu remplaces ton document.write(radical_ + i); par console.log(radical_ + i);.

    Ensuite, comme l'a bien dit Watilin, tu dois ouvrir la console de ton navigateur et tu es sensé récupéré la valeur de radical_+i.

    Ce que je ne comprend pas, c'est pourquoi la page se change lors du select.

    Je te propose cette solution mais j'utilise la librairie jQuery :

    html :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <html>
      <body>
        <select name="test" id="test">
          <option value="xx">xx</option>
          <option value="yy">yy</option>
          <option value="zz">zz</option>
        </select>
        <div class="txt"></div>
      </body>
    </html>

    Javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).ready( function() {
    $('#test').change(function(){
      var id = $("#test").val();
      $('.txt').html(id);
    });
    });

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Par défaut
    Yohann, avec ton code je récupére la valeur.
    J'ai testé cette version:
    Code : 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
    19
    20
    21
    22
    23
     
    <script language="JavaScript">
    function afficherSelect(select_, radical_){
      //-- Init diverses
      var i, oDiv, nb = select_.options.length;
      //-- Masque tout
      for (i = 0; i < nb; i++) {
        oDiv = document.getElementById( radical_ + i);
        if (oDiv) {
          oDiv.style.display = "none";
        }
      }
      //-- Affiche la DIV concernee
      i = select_.selectedIndex;
    //document.write( radical_ + i);
    document.getElementById("ladiv").innerHTML =  radical_ + i ;
      oDiv = document.getElementById( radical_ + i);
      if (oDiv) {
        oDiv.style.display = "block";
      }
    }
     
    </script>
    avec la Div qui va avec.
    La valeur s'inscrit. Maintenant je voudrait que la valeur devienne la valeur de l'ID du div.
    J'espère que je suis assez clair...

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