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 :

Tester des boutons radio en javascript dans une boucle qui fonctionne sous Google Chrome


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut Tester des boutons radio en javascript dans une boucle qui fonctionne sous Google Chrome
    Bonjour à tous,

    j'ai actuellement le code suivant qui teste tous les boutons radio d'un formulaire dans une boucle, donc sans en connaître le nom ni l'id :
    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
    var Camca="oui";
    	var Zones = document.formulaire.elements
    	 var iMax = Zones.length
    	 for ( var i=0; i < iMax; i++)  {
    		if (Zones[i].type != 'radio') continue
    		if (Zones[i].name == "bareme") continue
    			if ((Zones[i].name == "endettement") || (Zones[i].name == "finan_cavdf") || (Zones[i].name == "intervient") ) {
    				if (document.formulaire(Zones[i].name)[0].checked == false)   {
    				Camca="derog";
    				}
    			} else {
    					if (document.formulaire(Zones[i].name)[0].checked == false)   {
    					Camca="non";
    					}
    			}
    	}
    Sous IE cela fonctionnait parfaitement mais sous Google Chrome cela ne fonctionne plus.
    J'ai rajouté un id à chacun des boutons radio mais je ne sais pas comment réécrire le javascript sans avoir à tester tous les boutons radio un par un, j'en ai 19.

    Voici une partie du code de mon formulaire :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    		<tr>
    			<td align="left" >
    				Le financement est un terrain seul
    			</td>
    			<td align="center">non
    				<input name="terrain" id="terrain_E" type="radio" value="2" align="middle" onclick="suite_disabled();" >
    			</td>
    			<td align="center">oui
    				<input name="terrain" id="terrain_N" type="radio" value="1" align="middle" onclick="suite_disabled();" >
    			</td>	
    			<td align="left" >
    				Le financement comporte un P.A.S 
    			</td>
    			<td align="center">non
    				<input name="finan_pas" id="finan_pas_E" type="radio" value="2" align="middle"  onclick="suite_disabled();">
    			</td>
    			<td align="center">oui
    				<input name="finan_pas" id="finan_pas_N" type="radio" value="1" align="middle" onclick="suite_disabled();" >
    			</td>	
    		</tr>
     
    		<tr>
    			<td align="left" >
    				Le client est résident
    			</td>
    			<td align="center">oui
    				<input name="resident" id="resident_E" type="radio" value="1" align="middle" onclick="suite_disabled();" >
    			</td>
    			<td align="center">non
    				<input name="resident" id="resident_N" type="radio" value="2" align="middle" onclick="suite_disabled();" >
    			</td>	
    			<td align="left" >
    				L emprunteur est FICP ou IB
    			</td>
    			<td align="center">non
    				<input name="emprunteur" id="emprunteur_E" type="radio" value="2" align="middle" onclick="suite_disabled();" >
    			</td>
    			<td align="center">oui
    				<input name="emprunteur" id="emprunteur_N" type="radio" value="1" align="middle" onclick="suite_disabled();" >
    			</td>	
    		</tr>

    Est-ce que quelqu'un saurait m'aider à réécrire ce code javascript ?

    NB : ce n'est pas moi qui est écrit le code au départ.

    Merci d'avance à ceux qui pourront m'aider.

  2. #2
    Membre chevronné
    Avatar de Jacques Beauregard
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2015
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2015
    Messages : 231
    Par défaut
    Bonjour,

    Pourquoi ne pas mettre une classe sur tous tes boutons radios et les récupérer sous forme d'une collection ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var mesBoutonRadios = document.getElementsByClassName("BoutonRadioClass")
    Il ne faut jamais prendre les gens pour des cons, mais il ne faut pas oublier qu'ils le sont...

    Le guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var Zones = document.formulaire.elements
    kézako "formuliare" ??
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut
    Citation Envoyé par Jacques Beauregard Voir le message
    Bonjour,

    Pourquoi ne pas mettre une classe sur tous tes boutons radios et les récupérer sous forme d'une collection ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var mesBoutonRadios = document.getElementsByClassName("BoutonRadioClass")

    Est-ce que je pourrai avoir le javascript qui correspondrait à mon test car je n'arrive pas à le faire ?
    Il faut que lorsque l'un de mes boutons d'index 0 n'est pas coché, je mette Camca="non"; ou autrement dit si tous mes boutons d'index 0 sont cochés je laisse Camca="oui";

  5. #5
    Membre chevronné
    Avatar de Jacques Beauregard
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2015
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2015
    Messages : 231
    Par défaut
    Peut-on avoir un console.log sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.formulaire(Zones[i].name)[0]
    ?
    Il ne faut jamais prendre les gens pour des cons, mais il ne faut pas oublier qu'ils le sont...

    Le guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var Zones = document.formulaire.elements
    kézako "formuliare" ??

    C'est le nom du formulaire. Perso je ne l'aurai pas appelé comme ça.

  7. #7
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut
    Citation Envoyé par Jacques Beauregard Voir le message
    Peut-on avoir un console.log sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.formulaire(Zones[i].name)[0]
    ?

    Ca ne fonctionne pas dans Google Chrome, j'ai l'erreur Uncaught TypeError: object is not a function

  8. #8
    Membre chevronné
    Avatar de Jacques Beauregard
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2015
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2015
    Messages : 231
    Par défaut
    Si tu as laissé Zones[i] c'est sûr
    Ma question : que représente l'index 0 ?
    Il ne faut jamais prendre les gens pour des cons, mais il ne faut pas oublier qu'ils le sont...

    Le guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['formulaire'].elements[Zones[i].name]][0]
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut
    Citation Envoyé par Jacques Beauregard Voir le message
    Si tu as laissé Zones[i] c'est sûr
    Ma question : que représente l'index 0 ?
    En fait chaque bouton radio peut prendre 2 valeurs qui à l'écran pour l'utilisateur correspondent à oui ou non dans le tableau. Le oui peut être soit le 1er bouton radio (que j'appelle index 0), soit le 2ème bouton (que j'appelle index 1).
    Il faut que tous les 1ers bouton soient cochés pour que mon dossier soit eligible, donc camca="oui"

    Ce n'est pas facile d'expliquer

  11. #11
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['formulaire'].elements[Zones[i].name]][0]

    Ca fonctionne parfaitement en enlevant en "]" derrière "name".

    Merci beaucoup SpaceFrog et bonne journée

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/06/2012, 15h59
  2. Réponses: 1
    Dernier message: 17/03/2010, 17h59
  3. [SimpleXML] Analyse XML : tester la présence d'un attribut dans une boucle
    Par Denis Dee Jay dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/03/2009, 04h49
  4. Réponses: 1
    Dernier message: 22/11/2007, 22h52
  5. tester si un bouton radio est cocher dans une Datalist
    Par paradeofphp dans le forum ASP.NET
    Réponses: 6
    Dernier message: 02/11/2007, 15h13

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