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 :

bouton radio couleur


Sujet :

JavaScript

  1. #61
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    oui mais il n'y a plus de fonction?
    As-tu regardé le deuxième lien que E.Bzz t'as donnée?

  2. #62
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 74
    Par défaut
    oui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function <ident> ([<par1> [,<par2> [..., <parp>]...]){
      <corps de function>
    }
    Qu'est ce qui ne vas pas les crochets? On doit les mettre si il n'y a qu'un paramètre ? Désolé ça vous semble facile très certainement

    Le reste est bon? Désolé de vous faire perdre votre temps, c'est juste que ça m'énerve de ne pas trouver alors qu'il n'y a qu'une ligne à faire.

    Qu'est ce qui ne va pas dans mon code svp? merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function bascule(this) {
    if(this.parentNode.className == 'orange') {
    this.parentNode.className = '' ;
    }
    }
    (

  3. #63
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function bascule(obj) {
    if(obj.parentNode.className == 'orange') {
    obj.parentNode.className = '' ;
    }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="bascule(this)"

  4. #64
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par fado59 Voir le message
    Qu'est ce qui ne va pas dans mon code svp?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function bascule(param) {
    if(param.parentNode.className == 'orange') {
    param.parentNode.className = '' ;
    }
    }
    Relis ce que je t'avais dit à ce sujet, ça devrait éclairer les choses.

    Et lis la totalité du 1° lien que je t'ai donné : ça te fera gagner énormément de temps les prochaines fois

    A+

  5. #65
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 74
    Par défaut
    ok merci je vais manger la.

    Donc si je met le code que tu m'a donner sa marche?

    Je test sa juste après.

  6. #66
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par fado59 Voir le message
    Je dois faire appel à la fonction aussi?
    Non, ça c'est juste pour la déco parce que la discussion n'est pas assez compliquée comme ça

    PS : en plus Andry t'a déjà tout dit

  7. #67
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 74
    Par défaut
    lol nan je dis sa par ce que c'est bizarre qu'avec ton si beau code que tu m'a éditer ça ne fonctionne pas le fait de mettre en orange ce qu'on coche.

  8. #68
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par fado59 Voir le message
    lol nan je dis sa par ce que c'est bizarre qu'avec ton si beau code que tu m'a éditer ça ne fonctionne pas le fait de mettre en orange ce qu'on coche.
    Oulaaa !

    Évite ce genre de remarques si tu veux être encore pris au sérieux


    D'une part c'était ton code et non le mien, et d'autre part on est pas à la télé : c'est parce que c'est bô que c'est bien

  9. #69
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Tu n'as qu'à ajouter un "else" ou parcourir tous les boutons et décolorer ce qui ne sont pas coché.

    Une lecture de tutoriel ne te fera pas de mal.

  10. #70
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 74
    Par défaut
    a non ne t'inquiète pas E.bzz ce n'était pas méchant du tout. Désolé ^^
    Je vais manger je test sa juste après. Bonne appétit

  11. #71
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Tu n'as qu'à ajouter un "else" ou parcourir tous les boutons et décolorer ce qui ne sont pas coché.
    C'était la solution donnée au début, mais on s'est aperçu au 45° post que non

    En compilant l'ensemble de la discussion on s'aperçoit qu'il faut garder coché ce qui a été coché mais il faut pouvoir annuler en cas d'erreur ...

    A+

  12. #72
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par fado59 Voir le message
    a non ne t'inquiète pas E.bzz ce n'était pas méchant du tout. Désolé ^^
    Je ne considérais pas ça comme "méchant".

    Je disais plutôt ça pour toi

    A+

  13. #73
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 74
    Par défaut
    ok ok je viens de tester je ne comprend pas si je n'ajoute pas la fonction si je clique sur un bouton radio il devient orange si je reclique sur un autre bouton il devient orange également tout en gardant le 1er orange.

    Avec la fonction, j'ai beau cliqué partout, pas d'orange. le texte reste en noir.

    J'ai bien mis le onclick pourtant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            print "<input type='radio' onclick='bascule(this)' name=\"$i\" checked='checked' value=\"$j\" /> $question<br /> "; // Bouton radio, dernier coché par défaut
    et la fonction entre les balises script dans le head

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <head>
    <script type="text/javascript">
    function bascule(obj) {
    if(obj.parentNode.className == 'orange') {
    obj.parentNode.className = '' ;
    }
    }
    </script>
    </head>
    J'ai vraiment pas de chance, de quoi se mettre une balle

  14. #74
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par E.Bzz
    C'était la solution donnée au début, mais on s'est aperçu au 45° post que non
    @fado59 soit tu fait un peu d'effort, soit on va tourner en rond, soit je suis à coté de la plaque

  15. #75
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 74
    Par défaut
    en fait voici un exemple :

    question 1 : si je coche une réponse elle devient orange, si j'en coche une autre elle devient orange et efface la précédente
    question 2 : si je coche une réponse elle devient orange, et la soucis, le orange de la question 1 s'efface.

    Donc en gros à la question 10 j'aurais qu'une réponse orange (la 10) si je fais les questions dans l'ordre.

    Je ne sais pas si vous comprenez le soucis.

    Sa doit être une petite connerie mais quoi..

    En gros au final, il ne doit y avoir que 10 réponses en orange 1 par questions.

    Casse tête casse tête?

    C'est moi qui est mal copié le code ? Je ne vois pas le soucis dans mon code là

    J'ai refais la fonction, c'est la même chose.

    Merci d'avance pour votre aide

  16. #76
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 74
    Par défaut
    c'est bon j'ai reussi à résoudre mon problème. Il ne me reste plus qu'à cocher non pas le dernier mais le premier bouton par défaut. c'est facile mais avec mon code je n'ai qu'un bouton radio (une boucle) donc je vais voir sa.

    Merci de votre aide

    EDIT : Comment faire pour checked la première solution de chaque question par défaut? car moi mon code c'est une boucle il n'y a qu'un seul radio.

    Merci de votre aide

  17. #77
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 74
    Par défaut
    Comment faire pour cocher le bouton radio 1 de chaque question sachant que dans mon code je n'ai qu'un radio (dans une boucle)

    Merci d'avance pour votre aide, j'ai tenté d'essayer, je n'ai pas réussie

  18. #78
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Dans la boucle de création:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     for ($j=1; $j<count($quizz[$i])-2; $j++) {
            $question=$quizz[$i][$j];
            if($j == 1) { $checked = "checked"} else { $checked = "" };
            print "<input type='radio' name=\"$i\" checked=\"$checked\" onclick='basculeOrange(this)'  value=\"$j\" /> $question<br /> "; // Bouton radio, dernier coché par défaut
          }

  19. #79
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 74
    Par défaut
    merci mais apparement ça ne fonctionne pas. le premier bouton n'est pas coché par défaut.

    Le code :
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
     
    <html>
    <head>
    <script>
    function basculeOrange(elem) {
    	var liste = document.getElementsByTagName('input');
    	for (var i = 0; i < liste.length; i++) {
    		if (liste[i].type==="radio"){
    			if(liste[i].checked){
    				liste[i].nextSibling.className="orange";
    			}else{
    				liste[i].nextSibling.className="";
    			}
    		}
    	}
    }
     
    </script>
    </head>
    <body>
    <?php
     
      error_reporting(E_ALL ^ E_NOTICE); // pour éviter certaines erreurs à l'affichage
     
      if (!isset($_POST['result'])) {
        print "<input onclick='history.go(-1)'  type='image' name='image' value='Retour' src='image/boutonretour.gif'/>"; // Bouton Retour
        print '<center><FONT face="French Script MT" size="50" >Initiation : Info De Base</FONT></center><br>'; // Titre du haut de la page
    	 print '<center><FONT face="French Script MT" size="5" ><b>Avant de commencer le Quiz, merci de remplir les champs Nom et Prénom</b></FONT></center><br>'; // Titre du haut de la page
    	 	 	  print '<center><FONT face="French Script MT" size="5" ><b>Vérifiez bien que vous avez répondu à toutes les questions puis valider</b></FONT></center><br>'; // Titre du haut de la page
    		 print '<center><FONT face="French Script MT" size="5" ><b>Attention : Toutes les questions ont une réponse cochée par défaut.</b></FONT></center><br>'; // Titre du haut de la page
    		 	 print '<center><FONT face="French Script MT" size="5" ><b>Ce nest pas obligatoirement la bonne réponse.</b></FONT></center><br>'; // Titre du haut de la page
        		 	 print '<center><FONT face="French Script MT" size="5" ><b>1 seule réponse par question est possible.</b></FONT></center><br>'; // Titre du haut de la page
     
    	print '<center><FONT face="French Script MT" size="5" ><b>Bonne Chance.</b></FONT></center><br>'; // Titre du haut de la page
    	print "<form id=\"form1\" action=\"{$_SERVER['PHP_SELF']}\" method='post'>";
        print '<b> Votre Nom :</b>   <input type=text name="nom">'; // Champ Nom
        print '<b> Votre Prénom :</b> <input type=text name="prenom"><br><br>'; // Champ Prénom
     
        for ($i=0; $i<count($quizz); $i++) {
          print '<blockquote><span class="orange">';
          print $quizz[$i][0];
          print '</span><br /><br />';
     
          for ($j=1; $j<count($quizz[$i])-2; $j++) {
            $question=$quizz[$i][$j];
            if($j == 1) { 
    		 $checked = "checked" ;
    		 } else { 
    		 $checked = "" ;
    		 }
            print "<input type='radio' name=\"$i\" checked=\"$checked\" onclick='basculeOrange(this)'  value=\"$j\" /> $question<br /> "; // Bouton radio, dernier coché par défaut
          }
     
          print "</blockquote>";
        }
     
     
        print "<input type='hidden' name='result' value='voir' /><br />\n<center>";
        print "<input  type='image' src=image/boutonvalider.gif  value='VALIDER' />"; // Bouton Valider
     
     
      }else {
          $nom = $_POST['nom']; // On récupère le nom de la personne
        $prenom = $_POST['prenom']; // On récupère le prénom de la personne
      if(($nom!="") && ($prenom!="")) {
     
        print '<center><FONT face="French Script MT" size="50" >Initiation Info De Base : Correction</FONT></center><br>'; // Titre de haut de la page Correction
        $points=0;
        for($i=0; $i<count($quizz); $i++ ) { 
          $mareponse = trim($_POST[$i]);
          print  '<blockquote><span class="orange">';
          print $quizz[$i][0]."</span><br /><br />";
          $numero_bonne=$quizz[$i][count($quizz[$i])-2]; // avant dernière valeur du tableau
          $bonnereponse=$quizz[$i][$numero_bonne]; // Bonne réponse
          if ($mareponse==$numero_bonne) {
            print "<b><u>Réponse</u></b> : Vous avez répondu <b><i>".$bonnereponse."</i></b> et vous avez raison."; // Message si la réponse est correct
            $nombrepoints++;
         }else {
           print "<b><u>Réponse</u></b> :  Vous avez répondu <b>".$quizz[$i][$mareponse]."</b> mais la bonne réponse est <b>".$bonnereponse."</b>  " ; // Message si la réponse est incorrect
     
         }                
         $commentaire=$quizz[$i][count($quizz[$i])-1]; // dernière valeur du tableau
         print "<br />".$commentaire."<br />";      
         print "</blockquote>";
        }
     
        if($nombrepoints==count($quizz)) {
          print"<h1 align='center'>Félicitations Toutes vos réponses sont correctes!</h1>"; // Message si vous avez répondu correctement à toute les questions
     
        }else {
          print "<br /><h1 align='center'>Vous avez la note de $nombrepoints sur ".count($quizz); // Message si il y a minimum 1 erreur
     
        }
     
     
    	// envoi du mail
         $headers ='From: "cyber quizz"<adresse@fai.fr>'."\n";
         $headers .='Reply-To: adresse_de_reponse@fai.fr'."\n";
         $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
         $headers .='Content-Transfer-Encoding: 8bit';
         $mail = mail('thomas.pomart@sfr.fr', 'note du quizz [Info De Base]', "$nom  $prenom  a obtenu la note de $nombrepoints sur 10", $headers); // contenu du mail
     
        }else { 
    	if(($nom=='')&&($prenom=='')) {
    	echo"<script LANGUAGE='JavaScript'>alert('Veuillez remplir les champs Nom et Prenom ');</SCRIPT>";
    /* Redirection vers la page precedente  */	
    echo"<script LANGUAGE='JavaScript'>window.location='http://127.0.0.1/Utilisateur_Quiz_Des_Initiations/infodebase.php';</SCRIPT>";	
    }
     
    	if($nom == '') {
    echo"<script LANGUAGE='JavaScript'>alert('Veuillez remplir le champ Nom');</SCRIPT>";
    /* Redirection vers la page precedente  */	
    echo"<script LANGUAGE='JavaScript'>window.location='http://127.0.0.1/Utilisateur_Quiz_Des_Initiations/infodebase.php';</SCRIPT>";		
     
    }
    if($prenom == '') {
     
    echo"<script LANGUAGE='JavaScript'>alert('Veuillez remplir le champ Prenom');</SCRIPT>";
    echo"<script LANGUAGE='JavaScript'>window.location='http://127.0.0.1/Utilisateur_Quiz_Des_Initiations/infodebase.php';</SCRIPT>";	
    }
     
    	}
    	}
    ?>
    </body>

  20. #80
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Il doit exister une autre écriture, mais en PhP je ne sais pas comment elle s'écrit donc en attendant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
          for ($j=1; $j<count($quizz[$i])-2; $j++) {
            $question=$quizz[$i][$j];
            if($j == 1) { 
                 print "<input type='radio' name=\"$i\" checked=\"$checked\" onclick='basculeOrange(this)'  value=\"$j\" /> $question<br /> "; // Bouton radio, premier coché par défaut
    		 } else { 
                 print "<input type='radio' name=\"$i\" onclick='basculeOrange(this)'  value=\"$j\" /> $question<br /> ";
    		 }
     
          }

Discussions similaires

  1. Bouton Radio et changement de couleur de form
    Par Mahmoud_ dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/02/2010, 23h37
  2. Changer la couleur d'un bouton radio checké
    Par 123quatre dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 02/07/2009, 23h01
  3. bouton radio plus couleur de fond
    Par pierreonxbox dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 26/09/2007, 14h28
  4. [C# 2.0] Couleur de la pastille d'un bouton radio
    Par oodini dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/07/2006, 10h59
  5. [Js/HTML] mettre en évidence un bouton radio (couleur ou ..)
    Par michaelbob dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/10/2005, 15h26

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