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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 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.

  5. #5
    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";

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

  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

+ 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