[Javascript]vérif contenu input marche pas

Fermé
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 - 13 juil. 2007 à 13:46
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 - 16 juil. 2007 à 09:21
Bonjour à tous .
Bon voila je pete un plomb car impossible de faire marcher mon script js qui permets de vérifier que tous les champs d'un formulaire ont été remplis .

Voila le code :

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


En cas que le soucis vienne du code html, en voila une partie :

<form action="genere_fichiers.php" method="post" name="param" onsubmit="return confirmation(this)">
<input type=text name=question1 size=100 id=question1>
<input type="text" name="reponse1" size=60 id="reponse1">
<input type="radio" name="r1" value="1" id="r1">
<input type="text" name="reponse2" size=60 id="reponse2">
<input type="radio" name="r1" value="2" id="r2">


Voila pour le moment aucun popup n'affiche les messages d'erreur lorsque les champs ne sont pas remplis :s

8 réponses

Pi_Xi Messages postés 2244 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 22 janvier 2016 149
13 juil. 2007 à 15:06
Bonjour,

1- regarde où tu as placé : var mess = ''; ...

Mets-le donc au tout début de la fonction ;)

2- mets les instructions de la fonction confirmation(frm) sous la forme:

var question1 = document.getElementById("question1").value;

3- pour tes <input>, c'est plus propre de les mettre sous la forme:

<input type="text" name="question1" size="100" id="question1"> (des guillemets entourent chaque valeur)

Valà, ça devrait fonctionner, chez moi en tout cas ça marche ;)
0
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
13 juil. 2007 à 15:51
bon et bien je viens d'appliquer toute les modif annoncé ci-dessus .
aucun changement ... :s
voila ce que j'ai trouvé sur un forum :

Simplement parceque la balise </body> n'étant pas encore passée, l'objet document n'existe pas encore au moment où tu invoque ta méthode.

puis bon c'est pas le meme code que moi mais le mec propose ca :

Je mettrais alors :
window.onload=function()
{
document.forms["go2photo"].submit();
}


bon moi c'est pas exactement pareil donc je sais pas trop comment le remanier a ma sauce .
0
Pi_Xi Messages postés 2244 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 22 janvier 2016 149
13 juil. 2007 à 15:56
L'objet "document" existe bien, ce n'est pas le problème...

<html>
<head>
 <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 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';
		
    if (mess != '') { alert (mess); return false;}	
    else {return true;}
 }
 </script>
</head>

<body>

 <form action="genere_fichiers.php" method="post" name="param" onSubmit="return confirmation(this)">

   <input type="text" name="question1" size="100" id="question1">
   <input type="text" name="reponse1" size="60" id="reponse1">
   <input type="radio" name="r1" value="1" id="r1">
   <input type="text" name="reponse2" size="60" id="reponse2">
   <input type="radio" name="r2" value="2" id="r2">

   <input type="submit" value="OK">

 </form>

</body>
</html>

Ce code là, il tourne! ;)
0
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
13 juil. 2007 à 16:32
putin je pete un cable chez moi il ne tourne pas :s
0

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

Posez votre question
Pi_Xi Messages postés 2244 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 22 janvier 2016 149
13 juil. 2007 à 16:37
ah oui désolée, ça tourne sous IE, je suis au taff là, je peux pas tester sous Firefox ; t'inquiète pas ça doit être une connerie, mais je pars en we là. Si g le temps, je jète un coup d'oeil en repassant chez moi.

En tout cas, ton code ne fonctionnait pas sous IE au départ et c'était normal, tu dois garder les modifs que je t'ai indiquées.

Bon debug!
0
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
13 juil. 2007 à 16:38
yes merci c'est tres gentil de ta part .
erf je vais aller mater sur ie voir si ca marche deja ^^
bon week end et t'emmerde pas ca peut bien attendre lundi ^_^
0
Pi_Xi Messages postés 2244 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 22 janvier 2016 149
13 juil. 2007 à 17:03
Et évite de faire 2 sujets sur le même sujet, ça ne t'aidera pas davantage... ;)
0
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
16 juil. 2007 à 09:21
oué je me suis raté effectivement .
bon j'ai toujours pas trouvé la solution ... et sous IE ca ne fonctionne pas non plus chez moi .
Je tape une alu ...:s
0