Aller au contenu

Formulaire php + javascript


ifii

Sujets conseillés

Bonjour à tous!

Voilà, j'ai un formulaire sur lequel chaque champ est validé par un "spry.widget" avant envoi sur ma bdd sql.

Mon problème est que ce formulaire est assez long et lorsqu'on le valide, on ne voit pas forcément le champ concerné par l'erreur et qui empêche l'envoi du formulaire... l'internaute peut donc croire que le formulaire ne fonctionne pas.

C'est pourquoi, je souhaiterais qu'un rappel du message d'erreur (comme un "echo" en php) s'affiche en dessous du bouton de validation du formulaire.

voici le code:

<form id="form1" name="form1" class="" method="post" action="" enctype="multipart/form-data" >

<table width="200" border="0" class="tableau">
<tr>
<td width="91"> </td>
<td colspan="3"><span class="msg-erreur"> </span></td>
<td width="209"> </td>
</tr>
<tr>
<td><p align="right"></p></td>
<td width="236"><span class="label1">Adresse e-mail * :</span></td>
<td width="236"> </td>
<td width="236"><span class="label1">Confirmation * :</span></td>
<td width="209"> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><span id="sprytextfield1">
<input name="mail" type="text" class="champ-style2" id="mail" value="" size="25" />
<span class="textfieldRequiredMsg">Votre mail est manquant.</span></span></td>
<td> </td>
<td><span id="spryconfirm1">
<input name="mail2" type="text" class="champ-style2" id="mail2" value="" size="25" />
<span class="confirmRequiredMsg">La confirmation de votre mail est obligatoire.</span><span class="confirmInvalidMsg">La confirmation de votre mail ne correspond pas à la première entrée.</span></span></td>

</tr>
<tr>
<td> </td>
<td><span class="label1">Mot de passe * (8 caratères maxi) :</span></td>
<td> </td>
<td><span class="label1">Confirmation *:</span></td>
<td> </td>
</tr>
<tr>
<td><p align="right"> </p></td>
<td><span id="sprypassword1">
<input name="pass" type="password" class="champ-style2" id="pass" value="" size="25" />
<span class="passwordRequiredMsg">Une valeur est requise.</span><span class="passwordMaxCharsMsg">Le nombre maximum de caractères a été dépassé.</span></span></td>
<td> </td>
<td><span id="spryconfirm2">
<input name="pass2" type="password" class="champ-style2" id="pass2" value="" size="25" />
<span class="confirmRequiredMsg">Une valeur est requise.</span><span class="confirmInvalidMsg">Les valeurs ne correspondent pas.</span></span></td>

</tr>

</tr>
<tr>
<td> </td>
<td><span class="label1">Prénom *:</span></td>
<td> </td>
<td><span class="label1">Nom *:</span></td>
<td> </td>
</tr>
<tr valign="top">
<td> </td>
<td><span id="sprytextfield2">
<input name="prenom" type="text" class="champ-style2" id="prenom" value="" size="25" />
<span class="textfieldRequiredMsg">Vous devez indiquer votre prenom.</span></span></td>
<td> </td>
<td><span id="sprytextfield3">
<input name="nom" type="text" class="champ-style2" id="nom" value="" size="25" />
<span class="textfieldRequiredMsg">Vous devez indiquer votre nom.</span></span></td>
<td><p> </p></td>
</tr>

<input name="valider" type="submit" class="boite" id="valider" value="Valider" action=""/>
<input name="retablir" type="submit" class="boite" id="retablir" value="Rétablir" /></th>

</form>
<script type="text/javascript">
<!--
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1");
var spryconfirm1 = new Spry.Widget.ValidationConfirm("spryconfirm1", "mail");
var sprypassword1 = new Spry.Widget.ValidationPassword("sprypassword1", {maxChars:8});
var spryconfirm2 = new Spry.Widget.ValidationConfirm("spryconfirm2", "pass");
var sprytextfield2 = new Spry.Widget.ValidationTextField("sprytextfield2");
var sprytextfield3 = new Spry.Widget.ValidationTextField("sprytextfield3");

</script>

Les "srpy.widget" permettent la vérficiation des champs.

Mais je voudrais qu'en cas d'erreur à la validation, le champ concerné s'affiche directement à l'écran (pour l'instant mon formulaire reste au bouton "valider" en fin de formulaire").

Je crois qu'il existe une fonction "focus" en javascript, je ne sais pas réellement si c'est utiliser pour ça et je ne sais pas m'en servir...

Mon plan B serait d'afficher une petit fenêtre d'erreur en cas de non validation... mais la aussi je bloque, je souhaite utiliser onclick="alert(this.value)" sur mon bouton "valider" mais la fenêtre s'affiche à chaque validation (même sans erreur).

Avez vous une solution?

Lien vers le commentaire
Partager sur d’autres sites

Utilises-tu les Spy de Dreamweaver ?

Si c'est bien le cas, je ne vois pas où est ton problème car les widget Spry de formulaire font exactement ce que tu recherches de façon automatique. A moins que tu es modifié le code donné par Dreamweaver ?

++

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...