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 valeur associée à un bouton radio (long)


Sujet :

JavaScript

Vue hybride

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 13
    Par défaut Récup valeur associée à un bouton radio (long)
    J'essaye de récupérer la valeur entière associée à des boutons cochés par l'utilisateur, afin de donner une sorte de note (variable Counter), après avoir bien vérifié que l'un des boutons a bien été coché.
    Bizarrement, j'arrive bien à vérifier qu'une case a bien été cochée, mais lorsque j'essaie d'afficher la valeur associée, je récupère NaN


    Des idées pour corriger cette fonction?

    ------ Extrait de la fonction en head -------------------
    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
    <SCRIPT language = javascript>
    <!--
    		function ValidateFields()
    		{
    			var MissingAnswers = "";
    			var Counter = 0;	
    		                     var Note = "Votre note est de " ;
    if (!document.quest.R1[0].checked && !document.quest.R1[1].checked && !document.quest.R1[2].checked && !document.quest.R1[3].checked) {     MissingAnswers = MissingAnswers + "1, ";}
    else {Counter = Counter + document.quest.R1.value;}
    Counter = Counter + '';
    if (MissingAnswers != "")
    			{		window.alert("Il manque la/les réponse(s) suivante(s) : " + MissingAnswers);			}
    else
    			{                     window.alert("Votre note est de " +Counter);			}
     
     
    		}
    	//-->
    	</SCRIPT>

    ---------------------------------------------------------------------
    Tableau dans Body --------------

    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
    19
    20
    <FORM method = post name = "quest">
    <TABLE border=1>
    <TR>
    <TD width = 30>N° :</TD>
    <TD width = 400>L'affirmation</TD>
    <TD width = 60 align = center>Tout à fait<br> d'accord</TD>
    <TD width = 60 align = center>Plutôt <br>d'accord</TD>
    <TD width = 60 align = center>Plutôt en<br>désaccord</TD>
    <TD width = 60 align = center>Pas du tout<br>d'accord</TD>
    </TR><TR>
    <TD width = 30>1 :</TD>
    <TD width = 400>Question posée</TD>
    <TD width = 60 align = center><input  type = "radio" name = "R1" value = 1></TD>
    <TD width = 60 align = center><input type = "radio" name = "R1" value = 2 ID="Radio1"></TD>
    <TD width = 60 align = center><input type = "radio" name = "R1" value = 3 ID="Radio2"></TD>
    <TD width = 60 align = center><input type = "radio" name = "R1"  value = 4 ID="Radio3"></TD>
    </TR>
    </TABLE>
    <A href = "javascript:ValidateFields();">TERMINE</A> 
    </FORM

  2. #2
    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
    Counter = Counter + document.quest.R1.value;
    Tu demandes le value de quel R1 ?
    C'est d'autant plus étonnant que dans le if, tu distingues bien les différents cas
    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

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 13
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Counter = Counter + document.quest.R1.value;
    Tu demandes le value de quel R1 ?
    Aie en effet: je pensais que les quatre boutons, - tous nommés R1 - , partageaient une valeur commune.
    Si j'ai bien compris, je vais devoir multiplier par quatre le test:

    if {Document.quest.R1[n].checked} {counter = counter + D...qu..R1[n].value}

    c'est ca? Mais alors quel intérêt à donner une value à chaque R1 ?

  4. #4
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Citation Envoyé par brocexco Voir le message
    Si j'ai bien compris, je vais devoir multiplier par quatre le test:

    if {Document.quest.R1[n].checked} {counter = counter + D...qu..R1[n].value}
    c'est ca?
    Plutôt comme ça pour bien faire (pas besoin de changer le code si tu rajoutes un radio bouton) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var selected = false;
    var i = 0;
    for (i = 0; i < document.quest.R1.length; i++) {
      if (document.quest.R1[i].checked) {
        selected = true;
        Counter += document.quest.R1[i].value;
      }
    }
    if (!selected) {
      MissingAnswers = MissingAnswers + "1, ";
    }
    Citation Envoyé par brocexco Voir le message
    Mais alors quel intérêt à donner une value à chaque R1 ?
    Ben comment tu comptes savoir quel bouton radio a été sélectionné sinon (côté serveur) ?

Discussions similaires

  1. recupérer la valeur d'un bouton radio
    Par ericmart dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 19/05/2008, 15h42
  2. Comment envoyer la valeur d'un bouton radio dans MySQL
    Par michka999 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 18/08/2006, 18h08
  3. Réponses: 11
    Dernier message: 27/03/2006, 09h25
  4. Comment récupérer la valeur d'un bouton radio ?
    Par whbh dans le forum Langage
    Réponses: 2
    Dernier message: 20/01/2006, 22h32
  5. [JSP] passer en parametre valeur d un bouton radio
    Par logica dans le forum Servlets/JSP
    Réponses: 19
    Dernier message: 13/05/2005, 14h09

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