Vérification champs formulaire avant envoi

[Résolu/Fermé]
Signaler
Messages postés
82
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
4 octobre 2014
-
Messages postés
82
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
4 octobre 2014
-
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

Messages postés
571
Date d'inscription
mardi 16 mars 2010
Statut
Membre
Dernière intervention
18 avril 2018
61
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.
Messages postés
82
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
4 octobre 2014
6
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?
Messages postés
571
Date d'inscription
mardi 16 mars 2010
Statut
Membre
Dernière intervention
18 avril 2018
61
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^^.
Messages postés
571
Date d'inscription
mardi 16 mars 2010
Statut
Membre
Dernière intervention
18 avril 2018
61
puis si tout est ok je fais un header(location:cible.php).
Messages postés
82
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
4 octobre 2014
6
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?
Messages postés
571
Date d'inscription
mardi 16 mars 2010
Statut
Membre
Dernière intervention
18 avril 2018
61
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é.
Messages postés
82
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
4 octobre 2014
6
Ok je vais essayer de creuser de ce côté là.
Merci pour ton aide !
Messages postés
82
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
4 octobre 2014
6
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.
Messages postés
82
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
4 octobre 2014
6
C'est bon, j'ai trouvé tout seul :)
Messages postés
168
Date d'inscription
vendredi 20 novembre 2009
Statut
Membre
Dernière intervention
7 juin 2011
5
"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.
Messages postés
82
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
4 octobre 2014
6
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.
Messages postés
168
Date d'inscription
vendredi 20 novembre 2009
Statut
Membre
Dernière intervention
7 juin 2011
5
dans les <input type=text ... /> ajoute value='.$_POST['nom du champs'].'

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