[JavaScript]vérif champs texte & boutonradio

Fermé
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 - 6 sept. 2007 à 15:41
Oniros Messages postés 20 Date d'inscription samedi 2 décembre 2006 Statut Membre Dernière intervention 6 octobre 2007 - 6 sept. 2007 à 16:51
bonjour a tous .

Voila le code d'une page qui contiens différentes zones de textes et des boutons radio .
Voila a quoi il ressemble :

Question 1
reponse 1 o
reponse2 o pour chaque question, il faut cocher laquelle des reponses sera la bonne
reponse 3 o les "o" sont la representation de mes boutons radio lol

Question 2
reponse1 o
reponse2 o
reponse3 o

Question 3
reponse1 o
reponse2 o
reponse3 o

En dessous le code de cette page . Mon soucis est que si je replis aucun champs, jet que je teste au fur et a mesure chauqe message de retour de JS, ca marche pour Question1, Question 2, Question 3, puis reponse 1, reponse 2, reponse 3 .... et la si je fais submit, plus de message d'erreur de JS il fait comme si tous les champs etait remplis et passe a la page suivante ..... :s

voila le soucis si vous avez une idée , merci .

....
.....
.....
<script type='text/javascript'>
function confirmation(frm)
{
var question1 = document.param.question1.value;
if ( question1 == ''){
alert ('ERREUR : Renseignez correctement la question1\n');
return false;
}var question2 = document.param.question2.value;
if ( question2 == ''){
alert ('ERREUR : Renseignez correctement la question2\n');
return false;
}var question3 = document.param.question3.value;
if ( question3 == ''){
alert ('ERREUR : Renseignez correctement la question3\n');
return false;
}var reponse1 = document.param.reponse1.value;
if ( reponse1 == ''){
alert ('ERREUR : Renseignez correctement la reponse1\n');
return false;
}var r1 = document.param.r1.value;
if ( r1 == '') {
alert ('ERREUR : Renseignez la reponse juste à la question4\n');
return false;
}var reponse2 = document.param.reponse2.value;
if ( reponse2 == ''){
alert ('ERREUR : Renseignez correctement la reponse2\n');
return false;
}var r2 = document.param.r2.value;
if ( r2 == '') {
alert ('ERREUR : Renseignez la reponse juste à la question4\n');
return false;
}var reponse3 = document.param.reponse3.value;
if ( reponse3 == ''){
alert ('ERREUR : Renseignez correctement la reponse3\n');
return false;
}var r3 = document.param.r3.value;
if ( r3 == '') {
alert ('ERREUR : Renseignez la reponse juste à la question4\n');
return false;
}var reponse4 = document.param.reponse4.value;
if ( reponse4 == ''){
alert ('ERREUR : Renseignez correctement la reponse4\n');
return false;
}var r4 = document.param.r4.value;
if ( r4 == '') {
alert ('ERREUR : Renseignez la reponse juste à la question4\n');
return false;
}var reponse5 = document.param.reponse5.value;
if ( reponse5 == ''){
alert ('ERREUR : Renseignez correctement la reponse5\n');
return false;
}var r5 = document.param.r5.value;
if ( r5 == '') {
alert ('ERREUR : Renseignez la reponse juste à la question4\n');
return false;
}var reponse6 = document.param.reponse6.value;
if ( reponse6 == ''){
alert ('ERREUR : Renseignez correctement la reponse6\n');
return false;
}var r6 = document.param.r6.value;
if ( r6 == '') {
alert ('ERREUR : Renseignez la reponse juste à la question4\n');
return false;
}var reponse7 = document.param.reponse7.value;
if ( reponse7 == ''){
alert ('ERREUR : Renseignez correctement la reponse7\n');
return false;
}var r7 = document.param.r7.value;
if ( r7 == '') {
alert ('ERREUR : Renseignez la reponse juste à la question4\n');
return false;
}var reponse8 = document.param.reponse8.value;
if ( reponse8 == ''){
alert ('ERREUR : Renseignez correctement la reponse8\n');
return false;
}var r8 = document.param.r8.value;
if ( r8 == '') {
alert ('ERREUR : Renseignez la reponse juste à la question4\n');
return false;
}var reponse9 = document.param.reponse9.value;
if ( reponse9 == ''){
alert ('ERREUR : Renseignez correctement la reponse9\n');
return false;
}var r9 = document.param.r9.value;
if ( r9 == '') {
alert ('ERREUR : Renseignez la reponse juste à la question4\n');
return false;
}var reponse10 = document.param.reponse10.value;
if ( reponse10 == ''){
alert ('ERREUR : Renseignez correctement la reponse10\n');
return false;
}var r10 = document.param.r10.value;
if ( r10 == '') {
alert ('ERREUR : Renseignez la reponse juste à la question4\n');
return false;
}var reponse11 = document.param.reponse11.value;
if ( reponse11 == ''){
alert ('ERREUR : Renseignez correctement la reponse11\n');
return false;
}var r11 = document.param.r11.value;
if ( r11 == '') {
alert ('ERREUR : Renseignez la reponse juste à la question4\n');
return false;
}var reponse12 = document.param.reponse12.value;
if ( reponse12 == ''){
alert ('ERREUR : Renseignez correctement la reponse12\n');
return false;
}var r12 = document.param.r12.value;
if ( r12 == '') {
alert ('ERREUR : Renseignez la reponse juste à la question4\n');
return false;
} }
</script>
</head>
<body>
<form action="genere_fichiers.php" method="post" name="param" onsubmit="return confirmation(this)">
<center><table class="cadre_rouge">
<tr>
<td>Vous devez ici spécifier les questions de votre QCM, ainsi que les propositions de réponse et <b>sélectionner la bonne réponse pour chaque question</b>.<br />Votre qcm aura pour nom : qcm_le_temps.<br />Il est <b>impératif</b> de laisser la réponse "Je ne sais pas" dans son champs.<br />
</td>
</tr>
</table><br /><br />
<center><table class="cadre_sable_fonce">
<tr>
<td colspan='3'>Question 1</td>
</tr>
<tr>
<td>Votre question : </td>
<td colspan='2'><input type='text' name='question1' size='100' id='question1'><br /></td>
</tr>
<tr>
<td>Reponse 1 : </td><td><input type='text' name='reponse1' size='60' id='reponse1'></td>
<td><input type='radio' name='r1' value='1' id='r1'></td>
</tr>
<tr>
<td>Reponse 2 : </td><td><input type='text' name='reponse2' size='60' id='reponse2'></td>
<td><input type='radio' name='r1' value='2' id='r2'></td>
</tr>
<tr>
<td>Reponse 3 : </td>
<td><input type='text' name='reponse3' size='60' id='reponse3'></td>
<td><input type='radio' name='r1' value='3' id='r3'></td>
</tr>
<tr>
<td>Reponse 4 : </td><td><input type='text' name='reponse4' value='Je ne sais pas' size='60' readonly='readonly'></td>
<td>Sélectionnez<br />la réponse<br />juste</td>
</tr>
</table></center><br />
<center><table class="cadre_sable_fonce">
<tr>
<td colspan='3'>Question 2</td>
</tr>
<tr>
<td>Votre question : </td>
<td colspan='2'><input type='text' name='question2' size='100' id='question2'><br /></td>
</tr>
<tr>
<td>Reponse 1 : </td><td><input type='text' name='reponse5' size='60' id='reponse5'></td>
<td><input type='radio' name='r2' value='5' id='r5'></td>
</tr>
<tr>
<td>Reponse 2 : </td><td><input type='text' name='reponse6' size='60' id='reponse6'></td>
<td><input type='radio' name='r2' value='6' id='r6'></td>
</tr>
<tr>
<td>Reponse 3 : </td><td><input type='text' name='reponse7' size='60' id='reponse7'></td>
<td><input type='radio' name='r2' value='7' id='r7'></td>
</tr>
<tr>
<td>Reponse 4 : </td><td><input type='text' name='reponse8' value='Je ne sais pas' size='60' readonly='readonly'></td>
<td>Sélectionnez<br />la réponse<br />juste</td>
</tr>
</table></center><br />
<center><table class="cadre_sable_fonce">
<tr>
<td colspan='3'>Question 3</td>
</tr>
<tr>
<td>Votre question : </td><td colspan='2'><input type='text' name='question3' size='100' id='question3'><br /></td>
</tr>
<tr>
<td>Reponse 1 : </td>
<td><input type='text' name='reponse9' size='60' id='reponse9'></td>
<td><input type='radio' name='r3' value='9' id='r9'></td>
</tr>
<tr>
<td>Reponse 2 : </td><td><input type='text' name='reponse10' size='60' id='reponse10'></td>
<td><input type='radio' name='r3' value='10' id='r10'></td>
</tr>
<tr>
<td>Reponse 3 : </td><td><input type='text' name='reponse11' size='60' id='reponse11'></td>
<td><input type='radio' name='r3' value='11' id='r11'></td></tr><tr><td>Reponse 4 : </td>
<td><input type='text' name='reponse12' value='Je ne sais pas' size='60' readonly='readonly'></td>
<td>Sélectionnez<br />la réponse<br />juste</td>
</tr>
</table></center><br />
<input type="hidden" name="nb_questions" value="3">
<input type="hidden" name="nb_reponses" value="4">
<input type="hidden" name="nom_qcm" value="qcm_le_temps">
<center><table class="cadre_rouge">
<tr>
<td><input type="submit" name="result" value="Générer le QCM"></td>
</tr>
</table></center>
</form>
</body>
</html>

3 réponses

lylidou Messages postés 10 Date d'inscription jeudi 6 septembre 2007 Statut Membre Dernière intervention 13 septembre 2007
6 sept. 2007 à 16:07
Salut,
Je ne peux pas vraiment t'aider... car j'ai le même problème !
cependant, j'ai utilisé

var toto=document.form.nom_du_champ.checked;

if (toto==true){
return true;
}
else{
alert ("Merci de sélectionner une réponse ");
return false;
}


Si tu as une solution, c'est très volontiers.
Merci
0
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
6 sept. 2007 à 16:30
comme moi ce ne sont que certains champs que le javascript ne vérifie pas ou ton JS ne fonctionne sur aucun bouton ?
0
Oniros Messages postés 20 Date d'inscription samedi 2 décembre 2006 Statut Membre Dernière intervention 6 octobre 2007
6 sept. 2007 à 16:51
Et si tu essayes ça ?

<script type='text/javascript'>
function confirmation()
{
var err = "";
var question1 = document.param.question1.value;
if ( question1 == '')
err = err+"- Renseignez correctement la question 1\n";
.
.
. etc
.
.
alert("Les erreurs suivantes sont survenues : \n\n"+err);
}
</script>

ensuite tu appelles la fonction quand tu envoies le formulaire :

<input type="submit" value="valider" onclick="verif()">
0