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("zone") [Débutant(e)]


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 261
    Par défaut getElementByID("zone")
    Je voudrais afficher l'état de ma checkbox (coché ou non) dans un alert
    Je ne vois pas mon erreur. Honte à moi !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script>
    function f(){		
      var truc=document.getElementByID("zone").value;
      alert(truc);
    }	
    </script>
     
    <input  id="zone" type="checkbox" value="on"  onClick="f()">

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    tu cherches donc la valeur de "checked";

    mais c'est assez paradoxal d'afficher l'état de la case quand tu la (dé)sélectionnes;
    j'aime bien

  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 : 54
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var truc=document.getElementByID("zone").value;
    Comme précisé par javatwister, si tu veux la propriété checked, ne demande pas value

    D'autre part, JavaScript est sensible à la casse et getElementByID() n'existe pas !
    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 éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 261
    Par défaut
    Problème de casse effectivement ! En réalité, je désire passer l'état de ma checkbox sur un lien via la méthode GET
    avec en paramètre ajax.php?ordre_chrono=1 si coché
    Que dois-je modifier dans le code ci-dessous (que j'utilise par ailleurs avec succés pour le passage de variables autres que des valeurs de checkbox)
    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
     
    <script>
     		function f(){
     			var ordre=document.getElementById("ordre_chrono");
    			getXhr();
     			xhr.onreadystatechange = function(){
     				if(xhr.readyState == 4 && xhr.status == 200){
     					document.getElementById('affichage').innerHTML = xhr.responseText;
     				}
     			}
     
     			xhr.open("GET","ajax.php?ordre_chrono="+ordre.value,true);
     			xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
     			xhr.send(null);
    		}	
    		}
    </script>
    <input name="ordre_chrono" id="ordre_chrono" type="checkbox" value=""  onClick="f()">

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    on t'a dit que value ne donnait pas l'état de la checkbox!

  6. #6
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.open("GET","ajax.php?ordre_chrono="+ordre.checked,true);
    ou si tu veux des valeurs comme "0" ou "1" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.open("GET","ajax.php?ordre_chrono="+(ordre.checked?1:0),true);

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 261
    Par défaut
    Merci beaucoup mais j'ai encore beaucoup à apprendre !

    Si je remplace ma case cocher par un bouton "Inverser" qui fait passer alternativement de 0 à 1 puis 0 ... la valeur de la variable ordre à chaque clic.
    Comment dois-je initialiser la variable ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script>
     		function f(){
     			var ordre;
    			if ( ordre == 0 ) {	ordre = ordre*(-1)};
    		}
    </script>
    <input name="ordre_chrono" id="ordre_chrono" type="button" value="Inverser"  onClick="f()">

  8. #8
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script>
     		function f(obj){
    			obj.isEnabled = obj.isEnabled?0:1;
    		}
    </script>
    <input name="ordre_chrono" id="ordre_chrono" type="button" value="Inverser"  onClick="f(this);">
    Et si tu dois envoyer la valeur dans un formulaire, tu peux utiliser un champs input de type hidden.

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

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