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

jQuery Discussion :

Action sur radio buttons


Sujet :

jQuery

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 22
    Points : 11
    Points
    11
    Par défaut Action sur radio buttons
    Bonjour à tous,

    J'aurai besoin de votre aide car je butte bêtement sur un application toute simple de javascript sur des boutons radios.

    Je souhaiterai effectuer une action sur les groupes de boutons radios qui ne sont pas cochés.

    Etant donné que le "name" des différents groupes de boutons radios diffère par une variable, j'ai effectué le script suivant :

    Code HTML :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form action="index.html" method="GET" id="formulaire" name="formulaire">
    <input type="radio" name="id_carrier_1" value="0">
    <input type="radio" name="id_carrier_1" value="1">
     
    <input type="radio" name="id_carrier_2" value="0">
    <input type="radio" name="id_carrier_2" value="1">
    <input type="radio" name="id_carrier_2" value="2">
     
    <input type="radio" name="id_carrier_3" value="0">
    <input type="radio" name="id_carrier_3" value="1">
     
    <input type="submit" name="test" id="test">
    </form>

    Code JAVASCRIPT :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script type="text/javascript">
    $(document).ready(function(){
    	$('#formulaire').submit(function() {
    		var number_input = 3;
    		for($i=1; $i<=number_input; $i++)
    		{
    			if ("input:radio[name='id_carrier_'"+$i+"]")
    				alert($i);
    		}
    	});
    });
    </script>
    Lorsqu'on teste ce code, on remarque que même si les boutons radios sont cochés, la fenêtre d'alerte s'ouvre.

    Il y a je pense un problème de syntaxe au niveau de l'utilisation de la variable $i mais firebug ne m'en signale pas.

    Pouvez-vous m'apporter votre aide s'il vous plait ?

    Merci par avance.

    Benjamin.

  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 : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ("input:radio[name='id_carrier_'"+$i+"]")
    Apparemment, il y a une grosse différence entre ce que tu crois tester et ce que tu testes réellement.
    Là en l'occurrence, ton test, c'est juste une chaine de caractères, dont l'équivalent booléen est donc true : on rentre systématiquement dans la condition !

  3. #3
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonjour

    Je ne comprends pas bien votre code JS.

    Un exemple :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form id="formulaire" name="formulaire">
    	<input type="radio" name="id_carrier_1" value="0" checked>
    	<input type="radio" name="id_carrier_1" value="1">
     
    	<input type="radio" name="id_carrier_2" value="0" checked>
    	<input type="radio" name="id_carrier_2" value="1">
    	<input type="radio" name="id_carrier_2" value="2">
     
    	<input type="radio" name="id_carrier_3" value="0" checked>
    	<input type="radio" name="id_carrier_3" value="1">
     
    	<input type="submit" name="test" id="test">
    </form>

    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
    $( "#formulaire" ).submit(function() {
     
    	/*
    	 * Liste les valeurs et l'état des
    	 * boutons radios.
    	 */
    	$( "input[name^='id_carrier_']" ).each( function( i, item ){
    		console.log( $( item ).val(), $( item ).prop( "checked" ) );
    	});
     
    	/*
    	 * Sans le return false, le formulaire
    	 * est soumis et la page est rechargée,
    	 * on ne verra jamais les résultats 
    	 * dans la console du navigateur
    	 */
    	return false;
    });

Discussions similaires

  1. Action sur radio bouton
    Par Vanessa48 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/04/2013, 18h37
  2. Affichage sur Radio button en utilisant DATABINDING
    Par xpx-ayoub dans le forum VB.NET
    Réponses: 7
    Dernier message: 23/12/2010, 09h49
  3. Comment mettre une action sur le button
    Par darkmen11 dans le forum VC++ .NET
    Réponses: 5
    Dernier message: 01/05/2009, 14h32
  4. event sur radio buttons : onclick, setTimeout,onchange
    Par Pallando dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/06/2008, 12h25
  5. focus sur un radio button
    Par NikoBe dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/11/2006, 14h36

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