Vérification champs formulaire avant envoi

Résolu/Fermé
Tockay Messages postés 82 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 4 octobre 2014 - 10 juin 2010 à 11:57
Tockay Messages postés 82 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 4 octobre 2014 - 10 juin 2010 à 15:09
Bonjour,

J'ai un formulaire d'inscription et je voudrais vérifier mes champs avant l'envoi du formulaire afin de ne pas effacer les champs déjà rempli. J'ai vu qu'on pouvait utiliser le javascript.
Voila le code que j'ai et qui ne fonctionne pas :

(dans le head):

<SCRIPT LANGUAGE="JavaScript">
/* On crée une fonction de verification */
function verifForm()
{
if(form_inscription.inscription_mdp.value != form_inscription.inscription_mdp2.value ""){ /* on detecte si les mdp sont différents */
alert("Vous avez taper 2 mots de passe différents !"); /* dans ce cas on lance un message d'alerte */
}
else{
form_inscription.submit(); /* sinon on envoi le formulaire */
}
}
</SCRIPT>



(mon formulaire):

<form method="post" action="cible_inscription.php" id="form_inscription">
...
<input type="button" value="Inscription" onClick="verifForm(this.form)"/>
</form>


P.S : Ma page est en php

Merci d'avance.

10 réponses

dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 63
10 juin 2010 à 12:00
Il vaut mieux faire les verification en php, car s'il le client a le javascript désactivé, la vérification ne ce fera pas.
0
Tockay Messages postés 82 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 4 octobre 2014 6
10 juin 2010 à 12:04
Ok mais dans ce cas j'ai toujours le même problème car actuellement je fait la vérification sur ma page vers laquelle le formulaire pointe, j'affiche les erreurs et j'ai un bouton retour qui renvoi vers le formulaire mais vide...
J'ai penser à récupérer les variables entrées pour avec des champs hidden, les renvoyer avec le bouton retour et les mettre en value pour mes champs.
Mais je me demande si cette solution est propre? Et surtout si il n'y a pas plus simple?
0
dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 63
10 juin 2010 à 12:12
Moi en général, quant il y a besoin d'alerte comme "champs vide"..., je fais pointer le formulaire sur sa propre page, du formulaire je fais partir un champ caché dans lequel il y a un boolean et je fais les verifications dans le "isset" de ce boolean. en même temps je recupere toutes les autre variables du formulaire que j'écris dans leurs champs du formulaire respectif. En faisant pointer le formulaire vers sa propre page ça évite beaucoup de traitement a faire suivre les variable pour les réécrire^^.
0
dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 63
10 juin 2010 à 12:14
puis si tout est ok je fais un header(location:cible.php).
0

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

Posez votre question
Tockay Messages postés 82 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 4 octobre 2014 6
10 juin 2010 à 12:18
J'ai essayer en faisant pointer le formulaire vers sa propre page mais comme les vérifications des variables sont faites sur la même page, j'ai des alertes qui s'affichent à l'ouverture du formulaire alors que je n'ai pas encore cliqué une seule fois sur le bouton submit. Comment éviter ça?
0
dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 63
10 juin 2010 à 12:22
oui c'est pourquoi il faut faire partir un boolean ou autre, d'un champs caché et faire les verifs dans dans le if(isset($_GET)){//traitement}

Comme ça il le fait uniquement si la variable a été posté.
0
Tockay Messages postés 82 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 4 octobre 2014 6
10 juin 2010 à 12:26
Ok je vais essayer de creuser de ce côté là.
Merci pour ton aide !
0
Tockay Messages postés 82 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 4 octobre 2014 6
10 juin 2010 à 14:48
J'ai réussi à tout faire marcher à l'exception d'une chose:
J'ai 2 checkbox et même en leur mettant un value="$_post['mavariable']", si la case a été cochée, elle se retrouve décochée après les messages d'erreur (alors que les champs text conservent leur contenu)
Et j'ai le même problème pour le champ de type select.
0
Tockay Messages postés 82 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 4 octobre 2014 6
10 juin 2010 à 15:09
C'est bon, j'ai trouvé tout seul :)
0
sapma Messages postés 168 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 7 juin 2011 5
Modifié par sapma le 10/06/2010 à 12:03
"afin de ne pas effacer les champs déjà rempli. "

ce n'est pas très clair.

function verifForm() vérifie si le mot de passe et sa confirmation sont identiques.

You Are Welcome.
-1
Tockay Messages postés 82 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 4 octobre 2014 6
10 juin 2010 à 12:12
Pour être plus clair, je voudrais que si la personne à correctement rempli tous les champs mais a malencontreusement tapé 2 mots de passe différents, une alerte apparaisse pour le prévenir de son erreur et qu'il puisse la corriger sans que les champs remplis correctement soient remis à blanc.
0
sapma Messages postés 168 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 7 juin 2011 5
Modifié par sapma le 10/06/2010 à 12:39
dans les <input type=text ... /> ajoute value='.$_POST['nom du champs'].'

exemple :
nom <input type=text name="nom" value='.$_POST['nom'].'
0
Tockay Messages postés 82 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 4 octobre 2014 6
10 juin 2010 à 14:11
oui merci, dariumis m'a déjà suffisamment aidé.
Merci quand même ;)
0