Bouton radio à cocher
Résolu
JB_A
Messages postés
301
Date d'inscription
Statut
Membre
Dernière intervention
-
JB_A Messages postés 301 Date d'inscription Statut Membre Dernière intervention -
JB_A Messages postés 301 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un problème avec un script qui ne veut pas détecter si un bouton radio est coché ou non
et s'il est coché avec une valeur à "0", vérifier un deuxième champs
Mon formulaire :
Mon script :
Merci par avance de votre aide
J'ai un problème avec un script qui ne veut pas détecter si un bouton radio est coché ou non
et s'il est coché avec une valeur à "0", vérifier un deuxième champs
Mon formulaire :
<form method="post" name="satisfaction" action="/wkfl.php4" onsubmit="return beforesubmit();"> <input type="radio" name="avis" value="1"> Oui <input type="radio" name="avis" value="0"> Non Pour quelle(s) raison(s) : <input type="text" name="pourquoi" size="70"></input>
Mon script :
<script language="javascript"> <!-- function beforesubmit() { errormsg = ""; error_nb = 0; if (document.satisfaction.avis.checked=="false") { errormsg =errormsg +"\nMerci de bien vouloir préciser votre avis; error_nb ++; } if (document.satisfaction.avis.value=="0") { if (document.satisfaction.pourquoi.value=="") { errormsg =errormsg +"\nMerci de bien vouloir préciser la raison; error_nb ++; } } if (error_nb > 0) { alert(errormsg); return false; } } //--> </SCRIPT>
Merci par avance de votre aide
A voir également:
- Bouton radio à cocher
- Radio française - Télécharger - Médias et Actualité
- Diagnostic bouton photo - Accueil - Outils
- Bouton reinitialisation pc - Guide
- Bouton shift pc - Forum Jeux vidéo
- Bouton home clavier ✓ - Forum PC portable
3 réponses
Autant pour moi je me suis focalisé sur le "false"
Voici un ex qui je l'espère te permettra de comprendre comment accèder et manipuler les groupes de boutons radio (un groupe est défini comme un ensemble de boutons radio portant le même nom)
PhP
Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...
Voici un ex qui je l'espère te permettra de comprendre comment accèder et manipuler les groupes de boutons radio (un groupe est défini comme un ensemble de boutons radio portant le même nom)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Bouton radio & JavaScrip</title> <script type="text/javascript" language="Javascript" > <!-- function boutonradio_info(nom) { // On récupère tous les éléments portant le nom : nom var boutons = document.getElementsByName(nom); var txt = ""; for(var i=0; i < boutons.length; i++) { txt += nom+"["+i+"].value="+boutons[i].value+"\n"; txt += nom+"["+i+"].checked="+boutons[i].checked+"\n"; } alert(txt); } function boutonradio_selectionner(nom,index) { // On récupère tous les éléments portant le nom : nom var boutons = document.getElementsByName(nom); if ((index >=0) && (index < boutons.length)) { boutons[index].checked=true; } } // Retourne la valeur du bouton radio sélectionné function boutonradio_valeur(nom) { retour = ""; // On récupère tous les éléments portant le nom : nom var boutons = document.getElementsByName(nom); for(var i=0; i < boutons.length; i++) { if (boutons[i].checked) { retour = boutons[i].value; break; } } return retour; } // Retourne l'index du bouton radio sélectionné function boutonradio_index(nom) { retour = -1; // On récupère tous les éléments portant le nom : nom var boutons = document.getElementsByName(nom); for(var i=0; i < boutons.length; i++) { if (boutons[i].checked) { retour = i; break; } } return retour; } //--> </script> </head> <body> <form> [0] <input type="radio" name="avis" value="10"> Oui (valeur="10")<br /> [1] <input type="radio" name="avis" value="20"> Non (valeur="20")<br /> [2] <input type="radio" name="avis" value="30"> Peut-être (valeur="30")<br /> <input type="button" onclick="boutonradio_info('avis')" value="infos"><br /> <input type="button" onclick="boutonradio_selectionner('avis',1)" value="selection le second élément (index = 1)"><br /> <input type="button" onclick="alert(boutonradio_index('avis'))" value="index de l'élément sélectionné"><br /> <input type="button" onclick="alert(boutonradio_valeur('avis'))" value="valeur de l'élément sélectionné"> </form> </body>
PhP
Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...
Bsr
presque ... lol
Il ne faut pas écrire
mais (sans les guillemets autour du mot false)
presque ... lol
Il ne faut pas écrire
document.satisfaction.avis.checked=="false"
mais (sans les guillemets autour du mot false)
document.satisfaction.avis.checked== false
Merci de ta réponse,
J'avais déjà essayé et cela n'avais rien changé. Je viens tout de même de le corriger et idem.
Je n'arrive pas à comprendre :
1) pourquoi il ne détecte pas que le bouton radio est coché
2) pourquoi, lorsqu'il est coché à non, il ne gére pas la 2eme condition.
Alors que si j'enlève la condition
il détecte bien que le deuxième champs est vide.
J'ai cherché un peu partout et je ne vois pas.
Merci pour votre aide
J'avais déjà essayé et cela n'avais rien changé. Je viens tout de même de le corriger et idem.
Je n'arrive pas à comprendre :
1) pourquoi il ne détecte pas que le bouton radio est coché
2) pourquoi, lorsqu'il est coché à non, il ne gére pas la 2eme condition.
Alors que si j'enlève la condition
if (document.satisfaction.avis.value=="0") {
il détecte bien que le deuxième champs est vide.
J'ai cherché un peu partout et je ne vois pas.
Merci pour votre aide
Bonsoir,
Je viens de trouver ce qui cloche en fait. Il s'agit du fait que mon bouton radio porte le même nom.
A priori, même si cela correspond au même champs, il faut lui donner des noms différents et les déclarer dans le javascript.
En mettant
et dans le script :
Ce n'est pas logique, on devrait pouvoir avoir plusieurs valeurs possibles pour un même bouton et choisir la valeur que l'on veux cocher. Néanmoins, pour les vérifications en javascript (coché ou non coché) cela ne marche pas.
@ + et merci
Je viens de trouver ce qui cloche en fait. Il s'agit du fait que mon bouton radio porte le même nom.
A priori, même si cela correspond au même champs, il faut lui donner des noms différents et les déclarer dans le javascript.
En mettant
Etes-vous satisfait de la réponse apportée à votre demande<br> <input type="radio" name="avis1" value="1"> Oui <input type="radio" name="avis0" value="0"> Non
et dans le script :
if ((document.satisfaction.avis1.checked== false) && (document.satisfaction.avis0.checked== false)) {
Ce n'est pas logique, on devrait pouvoir avoir plusieurs valeurs possibles pour un même bouton et choisir la valeur que l'on veux cocher. Néanmoins, pour les vérifications en javascript (coché ou non coché) cela ne marche pas.
@ + et merci
J'ai fait un copier/coller de ta page dans un fichier texte, je l'ai renommé en test.html et je l'ai lancé malheureusement, je ne peux pas voir le résultat puisque mon navigateur (IE 6) me dit qu'il y a des erreurs dans la page. Je ne peux donc pas voir à quoi cela correspond.
Néanmoins, j'ai peur que cela ne réponde pas exactement à mes besoins.
La solution serait peut-être pour moi de faire la vérification via PhP plutôt qu'avec javascript. Cela sera un peu plus long qu'avec un script côté client mais cela me permettra d'identifier clairement les champs manquant.
A moins que tu penses à autre chose ?