Alerte si les champs sont vide

Résolu
cs_amine124 Messages postés 48 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 5 août 2016 - 25 janv. 2011 à 14:18
cs_amine124 Messages postés 48 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 5 août 2016 - 25 janv. 2011 à 23:36
bonjours, j'ai le code suivant, j'ai un pb dans la fonction verif(). ça marche pas, veuillez mz dire où est le pb exactement;
merci d'avance.
<html>
<head>
<script language= "Javascript">
function verif()
{
if(formulaire.nom.value == '') // s'il manque le nom, affiche l'alerte !
alert('Merci de saisir votre nom!')
else if(formulaire.msg.value == '') // s'il manque le prénom, affiche l'alerte !
alert('Merci de saisir le commentaire!')
else if(formulaire.nom.value '' && formulaire.msg.value '') // si tous les champs sont vides! affiche l'alerte!
alert('Merci de remplir les champs !')
else
formulaire.go.click();
}
</script>
</head>

<form action="inserer.php" method=POST name="formulaire" onSubmit="return verif(this.form)">
Nom:


Commentaire:

<textarea name ="commentaire" rows=12 cols=42>
</textarea>


</form>

</html>

3 réponses

Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
25 janv. 2011 à 15:19
bien le bonjour,
alors pour être précis ou ça ne marche pas, un peu partout ;o)
Dans la méthode verif:
if (formulaire.nom.value =  = '')

le formulaire n'a pas de champ nom mais un champ nom_cli (donc, d'entré, ça passe moins bien).
Toujours dans la méthode verif, il n'y a pas de return true/false, donc, l'appel sur le onsubmit passera toujours.
Maintenant, passons à une réécriture... (histoire de)
voilà une fois réécrit le code de vérification des données du formulaire:
<html>
<head>
<script language ="Javascript">
function verif()
{
var msg = "";
// on va travailler sur le formulaire.
with(formulaire){
// Si le champ nom_cli n'est pas renseigné, on ajoute un message d'avertissement. Sinon, on ne fait rien.
msg += (isEmpty(nom_cli)) ? "Merci de renseigner votre nom": "";
// Si le champ commentaire n'est pas renseigné : "(isEmpty(commentaire))" retourne vrais.
//	- si la variable msg n'est pas vide on ajoute un retour chariot (\n): "((msg !="" )?  "\n" :"")"
//  - sinon on ne fait rien. 
// et on ajoute le message Merci de saisr un commentaire.
msg += (isEmpty(commentaire)) ? ((msg !="" )?  "\n" :"") + "Merci de saisir un commentaire" :"";
}
// Si la variable msg est vide (="") on peu valider le formulaire.
if (msg == ""){
return true;	
}
else{
// Sinon, affiche une boite de dialogue et retourne faux.
alert (msg);
return false;
}
}

/**
* Méthod de test retourne vrai si la valeur du champ passé en paramètre est vide.
*
* @param val nom du champ à tester.
*/
function isEmpty(val){
return val.value ==""  || val.value == null;
}

</script>
</head>

<form action="inserer.php" method=POST name="formulaire" onSubmit="return verif(this.form)">
 Nom:  


Commentaire:

<textarea name ="commentaire" rows=12 cols=42>
</textarea>


</form>

</html> 


ça à l'air "gros" comme ça, mais si on enlève les commentaires, ça va beaucoup mieux !
Le truc, c'est que plutôt que d'afficher n popup avec tous les champs qui sont non renseigné, je n'en affiche qu'une qui contient tous les champs à renseigner.

En espérant que cela réponde à ta question.


[o-_-o]
3
cs_amine124 Messages postés 48 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 5 août 2016
25 janv. 2011 à 15:56
merci pour la réponse, mais tjr reste le même pb; lorsque je clique sur Envoyer le formulaire s'envoie sans afficher les messages d'alerte si les champs sont vide;
0
cs_amine124 Messages postés 48 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 5 août 2016
25 janv. 2011 à 23:36
Pardon, votre code fonctionne correctement, comme je vois, le pb était chez moi; alors je te remercie pour ce script encore une fois.
0
Rejoignez-nous