Boutons radio obligatoires

Résolu/Fermé
djstoun - 26 mars 2012 à 14:37
 djstoun - 26 mars 2012 à 17:08
Bonjour,
J'ai un formulaire de six pages avec des boutons radio.
J'aimerais rendre obligatoire la réponse à la question avant de passer à la page suivante contenant la deuxième question. Sur chacune des pages, chaque réponse doit être donc obligatoire.

J'ai regardé de multiples tutos mais cela ne fonctionne pas chez moi. Certains préconisent le Javascript, d'autres le php... Je vous mets ci-dessous mon script de la première page (en sachant que chaque page est faite de la même manière).

Merci beaucoup,

<?php session_start();?>

<form id="formulaire" name="form1" method="post" action="page2.php">
<p>

<label>
<input type="radio" name="R1" value="6" id="R1_0" />
l'Horizon. </label>
<br /></p>
<label>
<input type="radio" name="R1" value="1" id="R1_1" />
les flammes.<br /></label>
</p>
<label>
<input type="radio" name="R1" value="3" id="R1_2" />
les dunes.</label>
<br /></p>
<label>
<input type="radio" name="R1" value="7" id="R1_3" />
la neige.</label> <br />
</p>
</label>
<input type="radio" name="R1" value="10" id="R1_4" />
la mer.</label>
</p>
<p><br />
<input name="Validation" type="submit" id="" value="Valider" />
</p>
</form>

</body>
</html>


3 réponses

AssassinTourist Messages postés 5710 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 311
26 mars 2012 à 15:25
Bonjour,

En utilisant le javascript -> tu ne recharges pas la page si tu as une erreur.
En utilisant le php -> La page sera rechargée s'il y a une erreur
Qu'est-ce que tu as utilisé et qu'est-ce que tu veux utiliser ?
0
Salut,
J'ai utilisé les deux mais avec wamp ça passait directement à la page suivante. Moi ce que j'aimerais c'est que l'on oblige la personne à répondre pour passer à la page suivante.
0
AssassinTourist Messages postés 5710 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 311
26 mars 2012 à 15:41
Est-ce qu'on peut voir ce que tu as tenté avec le javascript ? Parce que c'est ça qu'il te faut, c'est juste qu'il doit y avoir une erreur quelque part...

Sinon tout bêtement, tu fais une petite feinte. Tu mets ton bouton "valider" incliquable jusqu'à ce qu'un radiobouton soit cliqué.

Fonction javascript
function valid_form(){
  document.getElementById("document_valider").disabled = "false";
}

En html, tu rajoutes une propriété à ton bouton "valider" (et un id) et tu rajoutes un attribut à tes inputs :
<form>
  <input type="radio" name="R1" value="1" id="R1_1" onclick="valid_form()" /> 
  <input type="radio" name="R1" value="2" id="R1_2" onclick="valid_form()" /> 
</form>
<input name="Validation" type="submit" id="bouton_valider" value="Valider" disabled="true" /> 
0
Euh... pour ta première question, disons que j'ai fait une quinzaine de tentatives. Mais, par exemple pour le javascript, je ne mettais pas d'attributs supplémentaires sur mes boutons.

Mais ton idée a l'air très bonne. Mais le souci c'est que j'ai beau cliquer sur un des quatre boutons radio, le bouton envoyer n'est toujours pas disponible. A mon avis il doit manquer un truc. Voici mon code

</head><SCRIPT language="Javascript">
function valid_form(){
document.getElementById("document_valider").disabled = "false";
} </SCRIPT>
<h3>1° question : quelle idée ?</h3>
<div class="quest">
<div class="tr">


<body>
<?php session_start();?>

<form id="formulaire" name="form1" method="post" action="page2.php">
<p>

<label>
<input type="radio" name="R1" value="6" id="R1_0" onclick="valid_form()"/>
L'horizon. </label>
<br /></p>
<label>
<input type="radio" name="R1" value="1" id="R1_1" onclick="valid_form()"/>
Les flammes. <br /></label>
</p>
<label>
<input type="radio" name="R1" value="3" id="R1_2" onclick="valid_form()"/>
les dunes. </label>
<br /></p>
<label>
<input type="radio" name="R1" value="7" id="R1_3" onclick="valid_form()"/>
La neige.</label> <br />
</p>
</label>
<input type="radio" name="R1" value="10" id="R1_4" onclick="valid_form()"/>
La mer.</label>
</p>
<p><br />
<input name="Validation" type="submit" id="bouton_valider" value="Valider" disabled="true" />
</p>
</form>

</body>
</html>
0
AssassinTourist Messages postés 5710 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 311
26 mars 2012 à 16:28
C'est moi, je me suis trompé.

Il faut que l'id du bouton validation soit égal à l'id que je lui rentre dans ma fonction javascript. Et là, l'un est bouton_valider et l'autre est document_valider...
0
j'ai mis bouton_valider à la place de document_valider dans la fonction javascript mais j'ai le même problème. Le bouton envoyer ne s'active pas quand on clique sur une réponse bouton radio.
0
AssassinTourist Messages postés 5710 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 311
26 mars 2012 à 17:05
Enlève les guillemets autour de false dans la fonction javascript. Ca fonctionne chez moi.
document.getElementById("bouton_valider").disabled = false; 
0
Merci c'est parfait comme d'habitude avec toi...
0