[Javascript]verifier le contenu d'un input

Fermé
Bonjour à toutes et à tous .
Voila j'ai un soucis avec mon code javascript qui ne marche pas .
J'ai une page qui contient des zones de texte à remplir et des boutons radio et je souhaite verifier que tous les inputs sont bien remplis .

voila vite fait une petite partie du code de la page :
<form action="genere_fichiers.php" method="post" name="param" onsubmit="return confirmation(this)">
<input type="text" name="reponse1" size=60></td><td><input type="radio" name="r1" value="1">
<input type="text" name="reponse2" size=60></td><td><input type="radio" name="r1" value="2">
...
...


et voici mon code js placé dans le head :

<script type='text/javascript'>
function confirmation(frm)
{
			var question1 = document.param.question1.value;
			var question2 = document.param.question2.value;
			var reponse1 = document.param.reponse1.value;
			var r1 = document.param.r1.value;
			var r2 = document.param.r2.value;
			var reponse2 = document.param.reponse2.value;
			var reponse3 = document.param.reponse3.value;
			var r3 = document.param.r3.value;
			var mess = '';
			if ( question1 == '') mess += 'ERREUR : Renseignez correctement la question1\n';
			if ( question2 == '') mess += 'ERREUR : Renseignez correctement la question2\n';
			if ( reponse1 == '') mess += 'ERREUR : Renseignez correctement la question1\n';
			if ( reponse2 == '') mess += 'ERREUR : Renseignez correctement la question2\n';
			if ( reponse3 == '') mess += 'ERREUR : Renseignez correctement la question3\n';
			if ( r1 == '') mess += 'ERREUR : Renseignez correctement la réponse juste à la question 1\n';
			if ( r2 == '') mess += 'ERREUR : Renseignez correctement la réponse juste à la question 2\n';
			if ( r3 == '') mess += 'ERREUR : Renseignez correctement la réponse juste à la question 3\n';
			if (mess != '') 
			{
				alert (mess);
				return false;
			}	
			else
			{
				return true;	
			}
}
</script>


Voila donc pour le moment quand je ne remplis aucun champs et que je clique sur le submit, je suis rebalancé sur la page suivante sans messages d'erreurs ... :s
Si vous voyez un soucis ou qu'il manque quelque chose dites moi parce que la je vois pas et je suis pas une star en js en plus .
Configuration: Windows XP
Firefox 2.0.0.4

7 réponses

  1. <form action="genere_fichiers.php" method="post" name="param" onsubmit="return confirmation()">
    <input type="text" name="reponse1" id="reponse1" size=60></td><td><input type="radio" name="r1" id="r1" value="1">
    <input type="text" name="reponse2" id="reponse2" size=60></td><td><input type="radio" name="r1" id="r2" value="2">
    
    <script type='text/javascript'>
    function confirmation()
    {
    			var question1 = document.getElementById('question1').value;
    			var question2 = document.getElementById('question2').value;
    			var reponse1 = document.getElementById('reponse1').value;
    			var r1 = document.getElementById('r1').value;
    			var r2 = document.getElementById('r2').value;
    			var reponse2 = document.getElementById('reponse2').value;
    			var reponse3 = document.getElementById('reponse3').value;
    			var r3 = document.getElementById('r3').value;
    			var mess = '';
    			if ( question1 == '') mess += 'ERREUR : Renseignez correctement la question1\n';
    			if ( question2 == '') mess += 'ERREUR : Renseignez correctement la question2\n';
    			if ( reponse1 == '') mess += 'ERREUR : Renseignez correctement la question1\n';
    			if ( reponse2 == '') mess += 'ERREUR : Renseignez correctement la question2\n';
    			if ( reponse3 == '') mess += 'ERREUR : Renseignez correctement la question3\n';
    			if ( r1 == '') mess += 'ERREUR : Renseignez correctement la réponse juste à la question 1\n';
    			if ( r2 == '') mess += 'ERREUR : Renseignez correctement la réponse juste à la question 2\n';
    			if ( r3 == '') mess += 'ERREUR : Renseignez correctement la réponse juste à la question 3\n';
    			if (mess != '') 
    			{
    				alert (mess);
    				return false;
    			}	
    			else
    			{
    				return true;	
    			}
    }
    </script>


    Je te conseil d'utiliser id="" puis en javascript document.getElementById('')

    C'est plus "stable"
    1. <html>
      <head>
      <title>Generateur de formulaire</title>
      <meta name="author" content="Guillaume PRIOU">
      <meta name="copyright" content="Guillaume PRIOU , GRETA LOT">
      <meta name="generator" content="Notepad++">
      <meta name="date" content="2007-07-09">
      <meta http-equiv="Content-Type" content="text/HTML; charset=iso-8859-1">
      <link rel='stylesheet' type='text/css' href='../css/css.css'>

      <script type='text/javascript'>
      function confirmation(frm)
      {
      var mess = '';
      var question1 = document.getElementById(question1).value;
      if ( question1 == '') mess += 'ERREUR : Renseignez correctement la question1\n';
      var question2 = document.getElementById(question2).value;
      if ( question2 == '') mess += 'ERREUR : Renseignez correctement la question2\n';
      var reponse1 = document.getElementById('reponse1').value;
      if ( reponse1 == '') mess += 'ERREUR : Renseignez correctement la question1\n';
      var r1 = document.getElementById('r1').value;
      if ( r1 == '') mess += 'ERREUR : Renseignez correctement la réponse juste à la question 1\n';
      var reponse2 = document.getElementById('reponse2').value;
      if ( reponse2 == '') mess += 'ERREUR : Renseignez correctement la question2\n';
      var r2 = document.getElementById('r2').value;
      if ( r2 == '') mess += 'ERREUR : Renseignez correctement la réponse juste à la question 2\n';
      var reponse3 = document.getElementById('reponse3').value;
      if ( reponse3 == '') mess += 'ERREUR : Renseignez correctement la question3\n';
      var r3 = document.getElementById('r3').value;
      if ( r3 == '') mess += 'ERREUR : Renseignez correctement la réponse juste à la question 3\n';
      if (mess != '')
      {
      alert (mess);
      return false;
      }
      else
      {
      return true;
      }
      }
      </script>
      </head>
      <body>
      <form action="genere_fichiers.php" method="post" name="param" onsubmit="return confirmation()">
      <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_blabla.<br /></td>
      </tr>
      </table><br /><br />
      <center><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></center><br />
      <center><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></center><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_blabla'>
      <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>
      1. le voila :

        <html>
        	<head>
        		<title>Generateur de formulaire</title>
        		<meta name="author" content="Guillaume PRIOU">
        		<meta name="copyright" content="Guillaume PRIOU , GRETA LOT">
        		<meta name="generator" content="Notepad++">
        		<meta name="date" content="2007-07-09">
        		<meta http-equiv="Content-Type" content="text/HTML; charset=iso-8859-1">
        		<link rel='stylesheet' type='text/css' href='../css/css.css'>
        
        		<script type='text/javascript'>
        		function confirmation(frm)
        		{
        			var mess = '';
        			var question1 = document.getElementById(question1).value;
        			if ( question1 == '') mess += 'ERREUR : Renseignez correctement la question1\n';
        			var question2 = document.getElementById(question2).value;
        			if ( question2 == '') mess += 'ERREUR : Renseignez correctement la question2\n';
        			var reponse1 = document.getElementById('reponse1').value;
        			if ( reponse1 == '') mess += 'ERREUR : Renseignez correctement la question1\n';
        			var r1 = document.getElementById('r1').value;
        			if ( r1 == '') mess += 'ERREUR : Renseignez correctement la réponse juste à la question 1\n';
        			var reponse2 = document.getElementById('reponse2').value;
        			if ( reponse2 == '') mess += 'ERREUR : Renseignez correctement la question2\n';
        			var r2 = document.getElementById('r2').value;
        			if ( r2 == '') mess += 'ERREUR : Renseignez correctement la réponse juste à la question 2\n';
        			var reponse3 = document.getElementById('reponse3').value;
        			if ( reponse3 == '') mess += 'ERREUR : Renseignez correctement la question3\n';
        			var r3 = document.getElementById('r3').value;
        			if ( r3 == '') mess += 'ERREUR : Renseignez correctement la réponse juste à la question 3\n';
        			if (mess != '') 
        			{
        				alert (mess);
        				return false;
        			}	
        			else
        			{
        				return true;	
        			}
        		}
        		</script>
        	</head>
        	<body>
        		<form action="genere_fichiers.php" method="post" name="param" onsubmit="return confirmation()">
        		<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_blabla.<br /></td>
        			</tr>
        		</table><br /><br />
        		<center><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></center><br />
        		<center><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></center><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_blabla'>
        			<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>
        1. Ma solution marche parfaitement ;o

          T'as du mal l'employé, fait voir ton code complet
          1. bon et bien ta solution ne marche pas non plus .
            je commence a perdre patience avec ce javascript de m**** :)