Alerte si les champs sont vide [Résolu]

cs_amine124 48 Messages postés vendredi 20 février 2009Date d'inscription 5 août 2016 Dernière intervention - 25 janv. 2011 à 14:18 - Dernière réponse : cs_amine124 48 Messages postés vendredi 20 février 2009Date d'inscription 5 août 2016 Dernière intervention
- 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>
Afficher la suite 

3 réponses

Répondre au sujet
Zobibol 469 Messages postés mercredi 9 janvier 2002Date d'inscription 20 février 2017 Dernière intervention - 25 janv. 2011 à 15:19
+3
Utile
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]
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Zobibol
cs_amine124 48 Messages postés vendredi 20 février 2009Date d'inscription 5 août 2016 Dernière intervention - 25 janv. 2011 à 15:56
0
Utile
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;
Commenter la réponse de cs_amine124
cs_amine124 48 Messages postés vendredi 20 février 2009Date d'inscription 5 août 2016 Dernière intervention - 25 janv. 2011 à 23:36
0
Utile
Pardon, votre code fonctionne correctement, comme je vois, le pb était chez moi; alors je te remercie pour ce script encore une fois.
Commenter la réponse de cs_amine124

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.