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 :

cocher/decocher boutons radio à partir d'1 lien


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 28
    Points : 13
    Points
    13
    Par défaut cocher/decocher boutons radio à partir d'1 lien
    Bonjour,
    j'ai 2 boutons radio dans mon formulaire répétés à chaque lignes de mon tableau qui peuvent prendre la valeur 1 ou 0.
    j'ai fait 2 liens dans mon formulaire liés chacun à une fonction JS permettant de cocher les boutons radios de chaque ligne à 1 ou a 0.

    Exemple :
    la chaine correspond à la suite des numéros de lignes ex: ('2,4,5,7,10').

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <A HREF="#" onClick="sup_all({'chaine':<?=$chaine_all; ?>})">Del All</A>
    fonction permettant de cocher tous les boutons radio à 1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function sup_all(chaine)
    {
    	for (var i=0; i< chaine.length; ++i) {
    		var y = chaine[i];
    		var varia = eval("document.form.sup"+y+"");
    			if ( varia != undefined ) {
    				eval("document.form.sup"+y+"[1].checked = true");
    			}
    	}
    }
    Le probleme vs l'aurez deviner est que ma fonction ne fonctionne pas, donc si qq1 a des idées de correction?
    Merci bcp!

  2. #2
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    ya personne?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    essair de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
     
    for var i in chaine...

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    je te remercie c'est un peu mieux mais j'ai encore 1 ptit pb avec ma chaine de caracteres. je n'arrive pas a recuperer chacun des elements de la chaine
    quand je fait : var y = chaine[i]; => y vaut tte la chaine

    peut être que je recupere mal ma chaine du coté de mon form?
    ma chaine a cette tete la:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <A HREF="#" onClick="sup_all({'chaine':'1741,1742,1885,2347,2695,2920'})">Del All</A>
    Merci!

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    je suppose qu'ensuite tu veux récupérer tes valeurs dans ta page de traitement (asp, php ???).

    si tu peux me préciser le language je te donneré le script, t'es pas obligé de passer par du js.

  6. #6
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    => en php.
    en fait j'aimerais qu'en cliquant sur mon lien "del all" les boutons radio de chaque ligne de mon tableau soient cochés à "sup" (et idem pour le lien "keep"=> coche les radio à garder)
    en sachant que le numero des lignes sont passer en parametre à la fonction JS sup_all() sous forme d'une chaine.

    si c'est possible de ne pas passer par du JS ce serait encore mieux!
    merci

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    le problème en php c'est que tu devras rafraichir ta page.

    a toi de choisir...

  8. #8
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    ca pose pas de pb de rafraichir la page

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    ok alors j'ai juste besoin du nom de tes boutons radio

  10. #10
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    c'est "sup" + le numero de la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input type="radio" name="sup<?=$i?>" value="1" checked="checked" >Supprimer
    <input type="radio" name="sup<?=$i?>" value="0" >Conserver

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    j'ai pas le temps de t'écrire le code je dois partir je te le feré demain mais si tu veux essayer :

    tu récupères tes valeurs avec ton $_post[] pour chaque ligne

    et ensuite a l'endroit ou tu as tes boutons tu parcours le résultat de ta ligne (par exemple : 1741,1742,1885,2347,2695,2920) a l'aide d'un foreach, et si la valeur s'y trouve, tu mets un checked.

    voila
    j'espère que j'ai pu t'aider mais je reviendré demain

    a+

  12. #12
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    ok merci bcp pr ton aide mais en fait je veux pouvoir modifier la valeur des boutons radio avant l'envoi en post et le traitement (d'ou l'utilisation du JS).
    je voudrai pouvoir au niveau de mon formulaire cocher tous les boutons radio à "sup" ou à "garder" par l'intermediaire des liens.
    je sais pas si c'est ce que tu avais compris, je me suis ptet mal expliquer dsl

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    ok alors est ce que tu peux donner le code source de ta page pour que j'essaie de faire la fonction js.

    mais a mon avis tu n'as pas bien compris l'utilisation des boutons radio, car tu ne peux en cocher un seul par groupe (exemple : civilité tu ne peux pas etre homme et femme en même temps, enfin normalement). Ca ne serait pas des checkbox que tu devré mettre ?

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    ah non encore pardon j'avais mal lu ton explication.

    je te fé ca...

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    Voila un exemple, j'espère avoir bein compris ce que tu voulais :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
     
    <html>
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script>
    function del_all(chaine){
    <? for ($i=0;$i<10;$i++){ ?>
    document.form1.sup<?=$i?>.item(0).checked = true;
    <? } ?>
    }
    </script>
    <script>
    function cons_all(chaine){
    <? for ($i=0;$i<10;$i++){ ?>
    document.form1.sup<?=$i?>.item(1).checked = true;
    <? } ?>
    }
    </script>
    </head>
     
    <body>
    <table width="100%">
    <form name="form1">
    <? for ($i=0;$i<10;$i++){ ?>
    <tr>
    <td><input type="radio" name="sup<?=$i?>" value="1">
    Supprimer</td>
    <td><input type="radio" name="sup<?=$i?>" value="0">
    Conserver</td>
    </tr>
    <? } ?>
    <tr>
    <td height="21"><a href="#" onclick="del_all();">Tout supprimer</a></td>
    <td><a href="#" onclick="cons_all();">Tout conserver</a></td>
    </tr>
    </form>
    </table>
    </body>
    </html>

  16. #16
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    j'te remercie pr le code mais en fait c'est deja ce que j'avais fait sauf que ma boucle for ne va pas de 0 à 10 mais dépend des numéros des lignes (qui peuvent variés), dc je suis obliger de mettre les numéros en parametre de ma fction sup_all.

    je recupere la suite de num ds un string et je l'envoi comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <A HREF="#" onClick="sup_all({'chaine':'1741,1742,1885,2347,2695,2920'})">Del All</A>
    et j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.form.sup1741,1742,1885,2347,2695,2920.item(0).checked = true;
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.form.sup1741.item(0).checked = true;
    le ptit pb c'est que je n'arrive pas à dissocier les numéros

    est ce que t'aurais une ptite idee? et apres j'arrete de t'embeter
    merci!

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    en fait le truc c'est que comme tu ne connais pas le nombre de lignes que tu as a passer en paramètre tu ne pourras pas le faire en js.

    Par contre est ce que tu peux enregistrer tes numéro s de lignes dans un tableau php ?

  18. #18
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    oui c'est ce que je fait, j'enregistre les numéros dans un tableau php que je passe en string séparé par une virgule. et c'est ce string que je passe en param de la fct js.

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 93
    Points : 111
    Points
    111
    Par défaut
    eh ben en fait, tu ne passes pas de paramètre mais dans ta fonction js , au lieu d'avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <? for ($i=0;$i<10;$i++){ ?>
    document.form1.sup<?=$i?>.item(0).checked = true;
    <? } ?>
    tu mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    foreach($tontableuaphp as $cle=>$valeur){ 
    document.form1.sup<?=$valeur?>.item(0).checked = true;
    }
    et normalement ca devré marcher
    tu n'as meme pas besoin de convertir ton tab en string

  20. #20
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    en fait t'as raison je ne passe rien en parametres de ma fct.
    j'ai refait ma fct en differencant les id du radio et ca marche!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function garde_all()
    {
    var elem = eval("document.form.elements");
     
    	for(i=0; i<elem.length; i++)
    	{
    		if(elem[i].id.substr(0,4) == "supc" )
    		{
    			if (elem[i].checked == false) {
    				elem[i].checked = true;
    			}
    		}
    	}
    }
    en tt cas merci bcp pr ton aide!

Discussions similaires

  1. [1.x] Cocher un bouton radio par défaut
    Par arnogb69 dans le forum Symfony
    Réponses: 4
    Dernier message: 18/08/2009, 16h30
  2. Decocher un bouton radio
    Par BernardT dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/06/2006, 15h47
  3. comment empecher de cocher un bouton radio??
    Par jeanfrancois dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/02/2006, 16h15
  4. Masquer un champ si un bouton radio est cocher
    Par 12_darte_12 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 22/02/2006, 16h49
  5. [Javascript] Masquer un champ si un bouton radio est cocher
    Par 12_darte_12 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/02/2006, 15h52

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