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

  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...

  7. #7
    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
    Non je ne comprend pas très bien.
    Que veut tu faire exactement ?
    Quel est l'intérêt du select ? Suivant la valeur sélectionnée, tu es sensé changé le contenu d'une div ?

  8. #8
    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
    Je veux afficher un DIV dans lequel j'aurais un select qui se modifiera en fonction de la sélection précédente. Bref, une sorte de select lies.
    Car je n'ai trouver aucun script qui me convienne. Le problème à chaque fois est qu'il faut une page extérieure pour le 2eme select et qu'il est impossible de garder sa sélection.

  9. #9
    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
    Tu peux nous faire un scénario étape par étape ?
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  10. #10
    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
    C'est le même principe que tout à l'heure en fait.
    Si l'utilisateur choisit cette option alors on affiche un nouveau sélect sinon un autre sélect...
    Tu dois écrire ton code html dans ton javascript.
    Sinon tu peu jouer avec des display none et Block mais c'est moins propre.

  11. #11
    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
    Est-ce que ceci peut aider ?
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  12. #12
    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
    Alors, Ajax => Non car il me faut tout sur la même page.
    Je veux également éviter de créer autant de div (avec select) qu'il y a de possibilités. Si j'ai 100 valeur dans mon premier select, ça va être impossible et lourd, je voudrais 1 select qui s'adapte à la première valeur sélectionné et pas la div.

  13. #13
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    J'ai rien pané du besoin mais ta dernière remarque est complètement à contradictoire.

    Ajax te permet de demander et de ne charger que les information que tu veux au moment ou tu le veux. et toi tu dis que tu ne veux pas Ajax car ça implique que tout charger d'un coup alors que c'est exactement le contraire que propse ajax.

    1. un select chargé avec des valeurs initiales
    2. choix d'un valeur par l'utilisateur
    3. envoie de la requête ajax pour cette valeur
    4. réception des données
    5. affichage de ces données
    6. choix d'une valeur dans ces données là
    7. envoie de la requête ajax pour cette valeur
    8. réception des données
    9. affichage de ces données
    10. choix d'une valeur dans ces données là
    11. envoie de la requête ajax pour cette valeur
    12. réception des données
    13. affichage de ces données
    14. choix d'une valeur dans ces données là
    15. envoie de la requête ajax pour cette valeur
    16. réception des données
    17. affichage de ces données
    18. choix d'une valeur dans ces données là
    19. envoie de la requête ajax pour cette valeur
    20. réception des données
    21. affichage de ces données
    22. choix d'une valeur dans ces données là
    23. envoie de la requête ajax pour cette valeur
    24. réception des données
    25. affichage de ces données
    26. choix d'une valeur dans ces données là
    27. ...
    et à chaque fois tu n'a chargé que les donnés concernant la valeur choisie.
    quant au pourquoi d'un div du select ou ne ne sais pas quoi d'autre ? j'ai rien compris.
    A+JYT

  14. #14
    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
    Bonjour Sekaijin,
    Le problème est que je souhaitais faire mon propre script. Car en Ajax j'en ai déjà, j'en utilise, mais le problème est de garder la sélection dans la deuxième liste ( puisqu'il s'agit d'une page extérieur).

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