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 :

Etat d'une checkbox


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 306
    Par défaut Etat d'une checkbox
    Bonjour,

    Je rencontre un petit problème avec mon script JS / AJAX.
    Les membres peuvent s'abonner ou se désabonner en cochant une checkbox et immédiatement via un script JS / AJAX le paramètre est modifié en base de données.

    Script permettant de vérifier si l'internaute coche ou décoche la case :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if(param == "lettre_informations")
    		{
    		if(document.getElementsByName("lettre_informations").checked == false)
          		{
           		val = 0;
            	}
    		else
    			{
    			val = 1;	
    			}	
    		}

    Checkbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <table>
          <tr>
          <td><input type="checkbox" name="lettre_informations" <?php if($lettre_informations == "oui") print("checked=\"checked\"");?> onclick="modifParametres('lettre_informations','1');"/></td>
          <td>Reçevoir des lettres d'informations ainsi que des alertes relatives à mon compte par e-mail.</td>
          </tr>
    Seulement voila lorsque la cas est cochée et l'internaute la décoche la valeur renvoyée est 1 alors qu'elle devrait etre de 0.
    Lorsque l'internaute coche la case décochée la valeur renvoyée est bien 1 (exact).

    Comment faire pour que la valeur retournée soit 0 quand l'internaute décoche la case ?

    Merci d'avance pour vos réponses.

  2. #2
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    L'extrait JS que tu nous montres est trop court pour que l'on puisse comprendre le problème correctement. (au moins l'appel ajax dans son intégralité parce que là... on est où ? avant l'appel ? après l'appel ? dans un gestionnaire d'événement de la checkbox ? dans la callback de l'appel ajax ? mystère...)

    Cependant, il y a déjà un problème apparent. Comme son nom l'indique, la méthode getElementsByName ne renvoie pas "un" élément mais une collection d'éléments. La collection renvoyée ne possédant pas de propriété checked, la condition ne peut pas être vérifiée...
    Cela dit, accéder aux éléments par le name est presque toujours plus contraignant que par l'id... enfin ^^ si tu veux utiliser le name, et si ce name est unique, ajoute [0] après ton appel de méthode pour pointer sur l'unique élément présent dans la collection, ça corrigera au moins cette partie.

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 306
    Par défaut
    Salut,

    Merci pour ta réponse.
    Dans mon script nous sommes avant l'appel ajax, il est appelé par le gestionnaire d'évènements onClick.

    Par contre je viens d'ajouter [0] comme tu me l'as indiqué dans ton message et le script fonctionne parfaitement bien et renvoie bien les bonnes valeurs

    Merci ^^

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

Discussions similaires

  1. Comment faire des etats pour une application web ?
    Par ovh dans le forum Autres outils décisionnels
    Réponses: 6
    Dernier message: 06/07/2021, 03h25
  2. Etat d'une CheckBox
    Par Jarell dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 13/06/2012, 16h50
  3. [IE6] Etat d'une checkbox
    Par darthmower dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 11/09/2009, 10h38
  4. Recuperer l'etat d'une checkbox
    Par Jérémy_d_alby dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 02/04/2008, 13h13
  5. Etat coché ou décoché d'une checkbox
    Par El Saigneur dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/10/2004, 16h56

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