Bouton radio avec control de saisie
Résolu
nawak.seb
Messages postés
72
Statut
Membre
-
kenou -
kenou -
Bonjour,
Dans un formulaire PHP, j’ai 3 boutons radio (aucune par défaut), avec un bouton « envoyer ».
Mon souhait était d’avoir un contrôle de saisie sur ses radios en JavaScript.
Seulement la radio 1 qui est considéré comme vrai; les autres,sont considéré comme faux.
Voici mon code :
... plus loin ...
Comment je dois faire pour avoir un control sur toutes les radios et non une seule ?
--
Quand l'impossible devient possible
Dans un formulaire PHP, j’ai 3 boutons radio (aucune par défaut), avec un bouton « envoyer ».
Mon souhait était d’avoir un contrôle de saisie sur ses radios en JavaScript.
Seulement la radio 1 qui est considéré comme vrai; les autres,sont considéré comme faux.
Voici mon code :
<script type="text/javascript">
function verif()
{
if(document.getElementById('travaux').checked==false)
{
alert ("Veuillez sélectionner un type de travaux");
document.form1.site.focus();
return false;
}
else {return true;}
}
</script>
... plus loin ...
<table width="200">
<tr>
<td><label>
<input type="radio" id="travaux" name="travaux" value="1">
Correctif</label></td>
</tr>
<tr>
<td><label>
<input type="radio" id="travaux" name="travaux" value="2">
Travaux neufs</label></td>
</tr>
<tr>
<td><label>
<input type="radio" id="travaux" name="travaux" value="3">
Préventif</label></td>
</tr>
<tr>
<td><label>
<input type="radio" id="travaux" name="travaux" value="4">
Amélioration</label></td>
</tr>
</table>
Comment je dois faire pour avoir un control sur toutes les radios et non une seule ?
--
Quand l'impossible devient possible
16 réponses
-
Salut,
tu dis avoir 3 boutons radios : moi j'en vois 4. Et ensuite tu dis que ton code marche juste avec la première? C'est bien ça?
Essaie ce code :function verif() { var valide=false; var inpNodes = document.getElementsByName('travaux'); for(var i=0; i< inpNodes.length;i++){ if ( inpNodes[i].getAttribute('checked')==true){ valide = true; } } if (valide == false){ alert ("Veuillez sélectionner un type de travaux"); document.form1.site.focus(); } return valide; }
C'est ta fonction que j'ai un peu modifié. -
Salut, tu as 4 boutons radios à ce que je vois, et pas 3.
Tu dis que ta fonction ne marche que pour la première? C'est un peu normal, tes quatre boutons radios ont la même id et tu ne fais qu'un simple if. Dès qu'il tombe sur la première id cherchée, il va pas plus loin.
Essaie ça :function verif() { var valide=false; var inpNodes = document.getElementsByName('travaux'); for(var i=0; i< inpNodes.length;i++){ if ( inpNodes[i].getAttribute('checked')==true){ valide = true; } } if (valide == false){ alert ("Veuillez sélectionner un type de travaux"); document.form1.site.focus(); } return valide; }
C'est ta fonction que j'ai un peu modifié. -
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
Oui , probleme avec le site
Je vais tester !!
et oui, il y a 4 boutons radio
-
Un grand MERCI a Sky34gl3 !!! C’était bien ça !
Ca fonctionne !!
Me voilà débloqué jusqu'à la prochaine fois ! :D
-
Me revoilà, avec une question toute bête ;
Quand je clique sur le bouton « ok » de mon alert, celle-ci m’envoi a sur une autre fenêtre, et non de mon formulaire.
Comment je peu faire pour rester sur ce formulaire ? -
Salut.
Et en faisant comme ça?function verif() { var valide=false; var inpNodes = document.getElementsByName('travaux'); for(var i=0; i< inpNodes.length;i++){ if ( inpNodes[i].getAttribute('checked')==true){ valide = true; } } if (valide == false){ alert ("Veuillez sélectionner un type de travaux"); return false; }else{ return true; } }<form action="tapage.php" onsubmit="return verif()" method="post">
<input type="submit" value="Go"/><!-- Ne pas mettre de onclick dans ton submit. -->
-
Hum hum...j'ai testé mais toujours la meme chose
Voici ceux qu'il se passe :
Notice: Undefined variable: travaux in ... \insert_di.php on line 12
Warning: Cannot modify header information - headers already sent by (output started at ...\insert_di.php:12) in ... \insert_di.php on line 33
C’est normal qu’il ne trouve pas la variable « travaux » vu qu’elle n’est pas coché !, mais comment lui dire dans ce cas là ?
-
Ce code est fonctionnel je le confirme :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
function verif()
{
var valide=false;
var inpNodes = document.getElementsByName('travaux');
for(var i=0; i< inpNodes.length;i++){
if ( inpNodes[i].getAttribute('checked')==true){
valide = true;
}
}
if (valide == false){
alert ("Veuillez sélectionner un type de travaux");
return false;
}else{
return true;
}
}
</script>
</head>
<body>
<form action="coucou.php" onsubmit="return verif()" method="post">
<table width="200">
<tr>
<td><label>
<input type="radio" id="travaux" name="travaux" value="1">
Correctif</label></td>
</tr>
<tr>
<td><label>
<input type="radio" id="travaux" name="travaux" value="2">
Travaux neufs</label></td>
</tr>
<tr>
<td><label>
<input type="radio" id="travaux" name="travaux" value="3">
Préventif</label></td>
</tr>
<tr>
<td><label>
<input type="radio" id="travaux" name="travaux" value="4">
Amélioration</label></td>
</tr>
</table>
<input type="submit" value="Go"/>
</form>
</body>
</html> -
Impeccable !
Mon erreur était dans mon code JavaScript, je mettais trompé par rapport au focus, les champs n’étaient pas bondocument.form1.site.focus();
Au lieu dedocument.form1.travaux[0].focus();
Encore merci !
-
-
Et avec 2 boutons submit « Envoyer » et « annuler »
Au moment de l'action « Annuler», comment lui dire de ne pas contrôler la saisie ?
Voici mon code:<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>test</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript"> function verif() { var valide=false; var inpNodes = document.getElementsByName('travaux'); for(var i=0; i< inpNodes.length;i++){ if ( inpNodes[i].getAttribute('checked')==true){ valide = true; } } if (valide == false){ alert ("Veuillez sélectionner un type de travaux"); return false; }else{return true;}} function annul() { window.location.href = 'page1.php'; return true; } </script> </head> <body> <form action="coucou.php" onsubmit="return verif()" method="post"> <table width="200"> <tr> <td><label> <input type="radio" id="travaux" name="travaux" value="1"> Correctif</label></td> </tr> <tr> <td><label> <input type="radio" id="travaux" name="travaux" value="2"> Travaux neufs</label></td> </tr> <tr> <td><label> <input type="radio" id="travaux" name="travaux" value="3"> Préventif</label></td> </tr> <tr> <td><label> <input type="radio" id="travaux" name="travaux" value="4"> Amélioration</label></td> </tr> </table> <input type="submit" value="Go"/> <input type="submit" value="Annuler" onclick="annul()" /> </form> </body> </html>
Et après , j'arrete mes questions !lol -
Peut être comme ça? :
<input type="submit" value="Annuler" onclick="javascript:this.form.onsubmit='';annul();" />
-
Dans ma fonction j'ai remplacé
window.location.href = 'page1.php';
pardocument.form1.action="page1.php" ;
et j'ai utilisé la commande de Sky34gl3<input type="submit" value="Annuler" onclick="javascript:this.form.onsubmit='';annul();" />
Le résultat est bon.
Mille mercis à Sky34gl3