[Javascript]problème

Fermé
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 - 17 juil. 2007 à 13:41
 Alain42 - 17 juil. 2007 à 19:06
bonjour a tous .
voila j'ai des zones de texte ou je veux verifier le contenu .
au total 8 zones de texte, et 2 boutons radio .

la paga ressemble a ca :

question 1 : [a remplir]
reponse 1 : [a remplir] bonne reponses ? :[bouton]
reponse 2 : [a remplir] bonne reponses ? :[bouton]
reponse 3 : [a remplir] bonne reponses ? :[bouton]

question 2 : [a remplir]
reponse 1 : [a remplir] bonne reponses ? :[bouton]
reponse 2 : [a remplir] bonne reponses ? :[bouton]
reponse 3 : [a remplir] bonne reponses ? :[bouton]

a chaque fois le mec rentre sa question, les 3 reponses qu'il veut, et indique avec le bouton radio laquelle de ces 3 reponses est la bonne .

pour le moment mon javascript ne vérifie que les champs question1, question2, reponse1, reponse2,reponse3 et pas le reste ..... voila mon soucis ....

Voici le code :

<html>
	<head>
	<script type='text/javascript'>
	function confirmation()
	{
		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 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 question3\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 question3\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 question3\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 question3\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 question3\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 question3\n');
			return false;
		}		
	}
	</script>
	</head>
	<body>
	<form action="genere_fichiers.php" method="post" name="param" onsubmit="return confirmation(this)">
		<table border="0" 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' value='Je ne sais pas' size='60' disabled></td>
				<td>Sélectionnez<br />la réponse<br />juste</td>
			</tr>
		</table><br />
		<table border="0" 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='reponse4' size='60' id='reponse4'></td>
				<td><input type='radio' name='r2' value='4' id='r4'></td>
			</tr>
			<tr>
				<td>Reponse 2 : </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 3 : </td>
				<td><input type='text' name='reponse6' value='Je ne sais pas' size='60' disabled></td>
				<td>Sélectionnez<br />la réponse<br />juste</td>
			</tr>
		</table><br />
		<input type="hidden" name="nb_questions" value="2">
		<input type="hidden" name="nb_reponses" value="3">
		<input type="hidden" name="nom_qcm" value="qcm_avale">
		<table class="cadre_rouge">
			<tr>
				<td><input type="submit" name="result" value="Générer le QCM"></td>
			</tr>
		</table>
	</form>
	</body>
</html>


Voila si vous voyez d'ou vient mon soucis ....

5 réponses

bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
17 juil. 2007 à 14:39
personne qui taquine javascript ?
0
Déja une erreur là:
var r2 = document.param.r2.value;
var r2 = document.param.reponse2.value;

ça doit te faire une erreur JS qui empèche la fct de continuer

Ensuite avant le dernier } (celui de ta fin de fonction) il faut return true;

sinon le formulaire ne sera jamais soumis même si il est ok.

Si tu as FireFox, n'hesites pas à utiliser la console d'erreur javascript pour débugger elle est super.
0
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
17 juil. 2007 à 15:44
Déja une erreur là:
var r2 = document.param.r2.value;
var r2 = document.param.reponse2.value;

Heu je ne suis pas d'accord .

var r2 = document.param.r2.value;
var reponse2 = document.param.reponse2.value;

C'est pas la même chose ...

Par contre effectivement j'ai zappé de return le true :)
Mais ca ne résoud pas mon problème... :s
0
var r2=document.param.r2.value;

l'erreur est que dans ton formulaire ce champ s'appelle reponse2 et pas r2, alors JS ne le retrouve pas

<td>Reponse 2 : </td>
<td><input type='text' name='reponse2' size='60' id='reponse2'></td>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Au fait as tu essayé dans fireFox d'utiliser le menu Outils / Console d'erreurs pour voir ce qui ne marche pas en Javascript.

Tu effaces d'abord ce qu'il y a dans la console avant de lancer ton script depuis fireFox, pour virer les erreurs des pages précédemment lues.
0