Problème avec ma vérification de formulaire, html et javascript |
Bienvenue invité ( Connexion | Inscription )
Problème avec ma vérification de formulaire, html et javascript |
2 Jun 2004, 16:11
Message
#1
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 832 Inscrit : 19 Jul 2001 Lieu : Живим у Греноблу Membre no 519 |
Ceci est sensé être un formulaire en html avec une vérification javascript.
La page de validation ne devrait être appelée que si certains champs sont bien renseigné. Sinon, je devrais avoir un message d'alerte. Dans tous les cas, je devrais avoir le message d'alerte "test", mais jamais rien ne se passe quand je valide le formulaire... Je ne comprends pas, mon javascript n'est jamais appelé. Je voudrais qu'il se lance quand je clique sur mon bouton valider à la fin, mais à chaque fois, il n'y a pas de test et je passe directement à la page suivante. Je ne m'y connais pas trop en programmation web, j'ai peut-être fait une bourde dans le code html. CODE <html>
<head> <script language="javascript"> function validform() { alert("test"); if (document.FORM.logo.value=="") { alert("Le champ logo n'est pas rempli."); return false; } if (document.FORM.annonceur.value=="") { alert("Le champ annonceur n'est pas rempli."); return false; } if (document.FORM.titre.value=="") { alert("Le champ titre n'est pas rempli."); return false; } } if (document.FORM.mecanique.value=="") { alert("Le champ mecanique n'est pas rempli."); return false; } } if (document.FORM.canal.value=="") { alert("Le champ canal n'est pas rempli."); return false; } } if (document.FORM.description.value=="") { alert("Le champ description n'est pas rempli."); return false; } } if (document.FORM.periode.value=="") { alert("Le champ periode n'est pas rempli."); return false; } } if (document.FORM.solution.value=="") { alert("Le champ solution n'est pas rempli."); return false; } return true; } </script> </head> <title>Gallerie des références : Ajout</title> <body> <p align="center"><b>Gallerie des références : Ajout</b><br><br><br> <form method="post" action="gallerieajoutvalid.php" name="FORM" OnSubmit="return validform()"> <table align="center" bordercolor="#49B5FF" cellspacing="0" cellpadding="5" border="1"> <tr> <td> <b>Informations obligatoires :</b><br> Annonceur :<br><input type="text" name="annonceur" value="" size="50" maxlength="255"><br> Logo :<br><input type="text" name="logo" value="" size="50" maxlength="255"><br> Titre :<br><input type="text" name="titre" value="" size="50" maxlength="255"><br> Mécanique :<br><input type="text" name="mecanique" value="" size="50" maxlength="255"><br> Canaux de communication :<br><input type="text" name="canal" value="" size="50" maxlength="255"><br> Descriptif :<br><textarea rows="3" name="description">Tapez ici vos commentaires</textarea><br> Période :<br><input type="text" name="periode" value="" size="50" maxlength="255"><br> Solutions SFDD :<br><input type="text" name="solution" value="" size="50" maxlength="255"><br> </td> </tr> <tr> <td> <b>informations optionnelles</b><br> Image 1 :<br><input type="file" name="image1" value="" size="50" maxlength="255"><br> Image 2 :<br><input type="file" name="image2" value="" size="50" maxlength="255"><br> Image 3 :<br><input type="file" name="image3" value="" size="50" maxlength="255"><br> Image 4 :<br><input type="file" name="image4" value="" size="50" maxlength="255"><br> Image 5 :<br><input type="file" name="image5" value="" size="50" maxlength="255"><br> Image 6 :<br><input type="file" name="image6" value="" size="50" maxlength="255"><br> Sons :<br><input type="file" name="son" value="" size="50" maxlength="255"><br> Focus mécanique :<br><input type="checkbox" name="focus_mecanique" value=unchecked size="50" maxlength="255"><br> Focus canal :<br><input type="checkbox" name="focus_canal" value=unchecked size="50" maxlength="255"><br> Focus home page :<br><input type="checkbox" name="home_page" value=unchecked size="50" maxlength="255"><br> </td> </tr> </table> <br> <center><input type="submit" value="Valider" onClick="ValidForm()"></center> </form> <br><br> </p> </body> </html> -------------------- Хајде Јано коло да играмо
iMac 27 mi 2010 Macbook air mi 2011 Mac Mini M1 |
|
|
2 Jun 2004, 16:19
Message
#2
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 399 Inscrit : 24 Jan 2003 Membre no 5 805 |
A la place d'un type="submit", met un type="button" et ajoute un FORM.submit() à la fin de ta fonction javascript, avant le return true.
Ensuite, ton code est sale et très mal indenté, désolé de te le dire. Du coup on s'y perd un peu avec les accolades et je suis certain qu'il y a des erreurs là-dedans. Pour ma part j'ai appris à coder de cette manière et je n'ai jamais eu d'ennuis, même avec des "if" imbriqués : CODE if (condition) { exec1; exec2; ... if (condition2) { exec21 exec22 ... } } Essaye de tout réindenter comme ça et je pense que tu vas voir des erreurs flagrantes d'accolades en trop. |
|
|
2 Jun 2004, 16:32
Message
#3
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 832 Inscrit : 19 Jul 2001 Lieu : Живим у Греноблу Membre no 519 |
Il n'y a pas de problème d'accolade, en fait, la mise en page a été perdue pendant le copier coller.
Mais si tu fais un copier-coller à ton tour, tu verras que le nombre est bon. La partie javascript est bonne, c'est la partie html qui pose problème car le javascript n'est jamais appelé. Par contre, mon code html est peut-être sale en effet. Je me prends le pied dans les head/body etc. -------------------- Хајде Јано коло да играмо
iMac 27 mi 2010 Macbook air mi 2011 Mac Mini M1 |
|
|
2 Jun 2004, 16:36
Message
#4
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 832 Inscrit : 19 Jul 2001 Lieu : Живим у Греноблу Membre no 519 |
En fait tu avais raison pour les parenthèse en trop, mais j'avais déjà corrigé ça et ça marche toujours pas...
-------------------- Хајде Јано коло да играмо
iMac 27 mi 2010 Macbook air mi 2011 Mac Mini M1 |
|
|
2 Jun 2004, 16:42
Message
#5
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 832 Inscrit : 19 Jul 2001 Lieu : Живим у Греноблу Membre no 519 |
Après quelques tests, et autres, j'ai enfin trouvé, il faut pas mettre le
CODE onClick="ValidForm()" à la fin et tout marche normalement. D'autre part, il faut aussi tester que les valeur ne soient pas nul pour être sur. Mais avec tout ça, j'ai aussi compris une chose: il faut vérifier le javascript avant le reste car aucun message d'erreur n'est renvoyé. Merci beaucoup! -------------------- Хајде Јано коло да играмо
iMac 27 mi 2010 Macbook air mi 2011 Mac Mini M1 |
|
|
2 Jun 2004, 16:45
Message
#6
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 832 Inscrit : 19 Jul 2001 Lieu : Живим у Греноблу Membre no 519 |
Code final qui marche :
CODE <html>
<head> <script language="javascript"> function validform() { if (document.FORM.logo.value=="" || document.FORM.logo.value==null) { alert("Le champ logo n'est pas rempli."); return false; } if (document.FORM.annonceur.value=="" || document.FORM.annonceur.value==null) { alert("Le champ annonceur n'est pas rempli."); return false; } if (document.FORM.titre.value=="" || document.FORM.titre.value==null) { alert("Le champ titre n'est pas rempli."); return false; } if (document.FORM.mecanique.value=="" || document.FORM.mecanique.value==null) { alert("Le champ mecanique n'est pas rempli."); return false; } if (document.FORM.canal.value=="" || document.FORM.canal.value==null) { alert("Le champ canal n'est pas rempli."); return false; } if (document.FORM.description.value=="" || document.FORM.description.value==null) { alert("Le champ description n'est pas rempli."); return false; } if (document.FORM.periode.value=="" || document.FORM.periode.value==null) { alert("Le champ periode n'est pas rempli."); return false; } if (document.FORM.solution.value=="" || document.FORM.solution.value==null) { alert("Le champ solution n'est pas rempli."); return false; } return true; } </script> </head> <title>Gallerie des références : Ajout</title> <body> <p align="center"><b>Gallerie des références : Ajout</b><br><br><br> <form method="post" action="gallerieajoutvalid.php" name="FORM" OnSubmit="return validform()"> <table align="center" bordercolor="#49B5FF" cellspacing="0" cellpadding="5" border="1"> <tr> <td> <b>Informations obligatoires :</b><br> Annonceur :<br><input type="text" name="annonceur" value="" size="50" maxlength="255"><br> Logo :<br><input type="text" name="logo" value="" size="50" maxlength="255"><br> Titre :<br><input type="text" name="titre" value="" size="50" maxlength="255"><br> Mécanique :<br><input type="text" name="mecanique" value="" size="50" maxlength="255"><br> Canaux de communication :<br><input type="text" name="canal" value="" size="50" maxlength="255"><br> Descriptif :<br><textarea rows="3" name="description">Tapez ici vos commentaires</textarea><br> Période :<br><input type="text" name="periode" value="" size="50" maxlength="255"><br> Solutions SFDD :<br><input type="text" name="solution" value="" size="50" maxlength="255"><br> </td> </tr> <tr> <td> <b>informations optionnelles</b><br> Image 1 :<br><input type="file" name="image1" value="" size="50" maxlength="255"><br> Image 2 :<br><input type="file" name="image2" value="" size="50" maxlength="255"><br> Image 3 :<br><input type="file" name="image3" value="" size="50" maxlength="255"><br> Image 4 :<br><input type="file" name="image4" value="" size="50" maxlength="255"><br> Image 5 :<br><input type="file" name="image5" value="" size="50" maxlength="255"><br> Image 6 :<br><input type="file" name="image6" value="" size="50" maxlength="255"><br> Sons :<br><input type="file" name="son" value="" size="50" maxlength="255"><br> Focus mécanique :<br><input type="checkbox" name="focus_mecanique" value=unchecked size="50" maxlength="255"><br> Focus canal :<br><input type="checkbox" name="focus_canal" value=unchecked size="50" maxlength="255"><br> Focus home page :<br><input type="checkbox" name="home_page" value=unchecked size="50" maxlength="255"><br> </td> </tr> </table> <br> <center><input type="submit" value="Valider"></center> </form> <br><br> </p> </body> </html> -------------------- Хајде Јано коло да играмо
iMac 27 mi 2010 Macbook air mi 2011 Mac Mini M1 |
|
|
2 Jun 2004, 18:14
Message
#7
|
|
Nouveau Membre Groupe : Membres Messages : 36 Inscrit : 6 Feb 2004 Membre no 14 388 |
bonsoir,
juste une question à SuperCed: je peux piquer ton code et le modifier pour des besoins persos ?? -------------------- MAC-OS 10.3, Powerbook G4 550Mhz, 256 SDRAM
PC-W2K SP4, PIV 2.4Ghz, 1024 DDR PC2700 |
|
|
2 Jun 2004, 20:01
Message
#8
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 832 Inscrit : 19 Jul 2001 Lieu : Живим у Греноблу Membre no 519 |
oui, c'est fait pour.
-------------------- Хајде Јано коло да играмо
iMac 27 mi 2010 Macbook air mi 2011 Mac Mini M1 |
|
|
3 Jun 2004, 06:30
Message
#9
|
|
Nouveau Membre Groupe : Membres Messages : 36 Inscrit : 6 Feb 2004 Membre no 14 388 |
merci
-------------------- MAC-OS 10.3, Powerbook G4 550Mhz, 256 SDRAM
PC-W2K SP4, PIV 2.4Ghz, 1024 DDR PC2700 |
|
|
3 Jun 2004, 08:21
Message
#10
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 399 Inscrit : 24 Jan 2003 Membre no 5 805 |
Ah oui, j'avais pas vu le onSubmit ="validForm()" ! Je m'étais jamais servi de cette syntaxe, en fait
Bien vu Et effectivement, le Javascript est honteusement mal géré sur les navigateurs Mac, du fait qu'on ait pas d'erreur qui s'affiche (alors que sur IE 6 PC...) |
|
|
3 Jun 2004, 08:35
Message
#11
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 832 Inscrit : 19 Jul 2001 Lieu : Живим у Греноблу Membre no 519 |
J'ai un autre problème maintenant.
Comment je fais pour récupérer les valeurs que j'ai mises dans le form dans la nouvelle page php. ma page gallerieajout : CODE <html> <head> <script language="javascript"> function validform() { if (document.FORM.logo.value=="" || document.FORM.logo.value==null) { alert("Le champ logo n'est pas rempli."); return false; } if (document.FORM.annonceur.value=="" || document.FORM.annonceur.value==null) { alert("Le champ annonceur n'est pas rempli."); return false; } if (document.FORM.titre.value=="" || document.FORM.titre.value==null) { alert("Le champ titre n'est pas rempli."); return false; } if (document.FORM.mecanique.value=="" || document.FORM.mecanique.value==null) { alert("Le champ mecanique n'est pas rempli."); return false; } if (document.FORM.canal.value=="" || document.FORM.canal.value==null) { alert("Le champ canal n'est pas rempli."); return false; } if (document.FORM.description.value=="" || document.FORM.description.value==null) { alert("Le champ description n'est pas rempli."); return false; } if (document.FORM.periode.value=="" || document.FORM.periode.value==null) { alert("Le champ periode n'est pas rempli."); return false; } if (document.FORM.solution.value=="" || document.FORM.solution.value==null) { alert("Le champ solution n'est pas rempli."); return false; } return true; } </script> </head> <title>Gallerie des références : Ajout</title> <body> <p align="center"><b>Gallerie des références : Ajout</b><br><br><br> <form method="post" action="gallerieajoutvalid.php" name="FORM" OnSubmit="return validform()"> <table align="center" bordercolor="#49B5FF" cellspacing="0" cellpadding="5" border="1"> <tr> <td> <b>Informations obligatoires :</b><br> Annonceur :<br><input type="text" name="annonceur" value="" size="50" maxlength="255"><br> Logo :<br><input type="text" name="logo" value="" size="50" maxlength="255"><br> Titre :<br><input type="text" name="titre" value="" size="50" maxlength="255"><br> Mécanique :<br><input type="text" name="mecanique" value="" size="50" maxlength="255"><br> Canaux de communication :<br><input type="text" name="canal" value="" size="50" maxlength="255"><br> Descriptif :<br><textarea rows="3" name="description">Tapez ici vos commentaires</textarea><br> Période :<br><input type="text" name="periode" value="" size="50" maxlength="255"><br> Solutions SFDD :<br><input type="text" name="solution" value="" size="50" maxlength="255"><br> </td> </tr> <tr> <td> <b>informations optionnelles</b><br> Image 1 :<br><input type="file" name="image1" value="" size="50" maxlength="255"><br> Image 2 :<br><input type="file" name="image2" value="" size="50" maxlength="255"><br> Image 3 :<br><input type="file" name="image3" value="" size="50" maxlength="255"><br> Image 4 :<br><input type="file" name="image4" value="" size="50" maxlength="255"><br> Image 5 :<br><input type="file" name="image5" value="" size="50" maxlength="255"><br> Image 6 :<br><input type="file" name="image6" value="" size="50" maxlength="255"><br> Sons :<br><input type="file" name="son" value="" size="50" maxlength="255"><br> Focus mécanique :<br><input type="checkbox" name="focus_mecanique" value=unchecked size="50" maxlength="255"><br> Focus canal :<br><input type="checkbox" name="focus_canal" value=unchecked size="50" maxlength="255"><br> Focus home page :<br><input type="checkbox" name="home_page" value=unchecked size="50" maxlength="255"><br> </td> </tr> </table> <br> <center><input type="submit" value="Valider"></center> </form> <br><br> </p> </body> </html> et l'autre page appelée (gallerieajoutvalid.php): CODE <html> <head> <title>Gallerie des références : Ajout</title> </head> <body> <p align="center"><b>Gallerie des références : Ajout</b><br><br><br> <?php echo $_POST["$titre"]; ?> <br><br> </p> </body> </html> Mais le contenu de titre ne s'affiche pas dans la nouvelle page. Donc je n'ai pas récupéré les valeurs des input du form. Comment dois-je faire pour les récupérer dans mon code php de la page gallerieajoutvalid.php? Ce message a été modifié par SuperCed - 3 Jun 2004, 08:37. -------------------- Хајде Јано коло да играмо
iMac 27 mi 2010 Macbook air mi 2011 Mac Mini M1 |
|
|
3 Jun 2004, 08:59
Message
#12
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 832 Inscrit : 19 Jul 2001 Lieu : Живим у Греноблу Membre no 519 |
J'ai trouvé, c'était un problème de syntaxe encore :
CODE <html>
<head> <title>Gallerie des références : Ajout</title> </head> <body> <p align="center"><b>Gallerie des références : Ajout</b><br><br><br> <?php echo $_POST['titre']; ?> <br><br> </p> </body> </html> -------------------- Хајде Јано коло да играмо
iMac 27 mi 2010 Macbook air mi 2011 Mac Mini M1 |
|
|
Nous sommes le : 5th June 2024 - 08:29 |