IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Problème avec ma vérification de formulaire, html et javascript
Options
SuperCed
posté 2 Jun 2004, 16:11
Message #1


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 831
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&eacute;f&eacute;rences : Ajout</title>

<body>
<p align="center"><b>Gallerie des r&eacute;f&eacute;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&eacute;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&eacute;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&eacute;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
Go to the top of the page
 
+Quote Post
ScaL
posté 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.
Go to the top of the page
 
+Quote Post
SuperCed
posté 2 Jun 2004, 16:32
Message #3


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 831
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
Go to the top of the page
 
+Quote Post
SuperCed
posté 2 Jun 2004, 16:36
Message #4


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 831
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
Go to the top of the page
 
+Quote Post
SuperCed
posté 2 Jun 2004, 16:42
Message #5


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 831
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
Go to the top of the page
 
+Quote Post
SuperCed
posté 2 Jun 2004, 16:45
Message #6


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 831
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&eacute;f&eacute;rences : Ajout</title>

<body>
<p align="center"><b>Gallerie des r&eacute;f&eacute;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&eacute;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&eacute;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&eacute;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
Go to the top of the page
 
+Quote Post
riddleron
posté 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
Go to the top of the page
 
+Quote Post
SuperCed
posté 2 Jun 2004, 20:01
Message #8


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 831
Inscrit : 19 Jul 2001
Lieu : Живим у Греноблу
Membre no 519



oui, c'est fait pour.


--------------------
Хајде Јано коло да играмо
iMac 27 mi 2010
Macbook air mi 2011
Mac Mini M1
Go to the top of the page
 
+Quote Post
riddleron
posté 3 Jun 2004, 06:30
Message #9


Nouveau Membre


Groupe : Membres
Messages : 36
Inscrit : 6 Feb 2004
Membre no 14 388



merci biggrin.gif


--------------------
MAC-OS 10.3, Powerbook G4 550Mhz, 256 SDRAM
PC-W2K SP4, PIV 2.4Ghz, 1024 DDR PC2700
Go to the top of the page
 
+Quote Post
ScaL
posté 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 smile.gif
Bien vu wink.gif

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...) dry.gif
Go to the top of the page
 
+Quote Post
SuperCed
posté 3 Jun 2004, 08:35
Message #11


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 831
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&eacute;f&eacute;rences : Ajout</title>

<body>
<p align="center"><b>Gallerie des r&eacute;f&eacute;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&eacute;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&eacute;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&eacute;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&eacute;f&eacute;rences : Ajout</title>
</head>
<body>
<p align="center"><b>Gallerie des r&eacute;f&eacute;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
Go to the top of the page
 
+Quote Post
SuperCed
posté 3 Jun 2004, 08:59
Message #12


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 831
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&eacute;f&eacute;rences : Ajout</title>
</head>
<body>
<p align="center"><b>Gallerie des r&eacute;f&eacute;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
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 18th April 2024 - 19:28