Alert si zone texte est vide (JS)

Résolu/Fermé
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 - 24 janv. 2011 à 18:54
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 - 26 janv. 2011 à 12:55
Bonjour,

j'ai un formulaire qui contient 2 zone de texte et un bouton; je veux lorsque je clique sur le bouton si l'une des deux zones de texte est vide, un message doit s'afficher informant qu'on doit la remplir, et on reste ainsi dans la même page.

veuillez me dire comment je vais le faire en javascript ou en php?!!
merci d'avance.

4 réponses

salut,
déjà impossible en php, c'est quoi cette tendance à demander un script client avec un langage serveur!
Ne me dis pas que c'est ca ton script:
-des conditions sans accolades (if,else)
-des instructions sans point virgule
-algorithme lourd
-non respect de la programmation objet javascript (formulaire.nom.value et formulaire.msg.value n'existent pas )

voilà autant de truc ça pouvait pas marcher
bon assez bavardé :
code:
<html>  
<head>  
<script language="Javascript">  
function verif()  
{  
if(formulaire.nom_cli.value == '' && formulaire.commentaire.value == '') // si tous les champs sont vides! affiche l'alerte!  
{  
alert('Merci de remplir les champs !');  
return false;  
}  
else if(formulaire.nom_cli.value=='') // s'il manque le nom, affiche l'alerte !  
{  
alert('Merci de saisir votre nom!');  
return false;  
}  
else if(formulaire.commentaire.value == '') // s'il manque le prénom, affiche l'alerte !  
{  
alert('Merci de saisir le commentaire!');  
return false;  
}  
else{  
return true;  
}  
}  
</script>  
</head>  
<body>  
<form action="inserer.php" method=POST name="formulaire" onSubmit="return verif()">  
<b>Nom:</b> <input type="text" name="nom_cli" value="" size="33" maxlength=16><br>  
<br><b>Commentaire:</b>  
<br><textarea name="commentaire" rows=12 cols=42>  
</textarea><br>  
<input type="submit" value="Envoyer" >  
</form>  
</body>  
</html>   


explication:
formulaire.nom_cli.value au lieu de formulaire.nom.value
car objet : formulaire -> intput de nom "nom_cli" -> attribut value
c'est ça la programmation objet

return false : empeche l'evenement submit donc on reste dans la même page

et bien sûr faut pas oublier les accolades et les points virgules :)
@+
4
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 2
25 janv. 2011 à 22:16
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
copie ce code intégralement et tu l'inseres dans un nouveau fichier html
le code fonctionne correctement
0
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 2
25 janv. 2011 à 23:06
oui c'est vrai; mais il reste un pb; lorsque je laisse les deux champs vide ou seulement la zone "commentaire"; il ne s'affiche que le message concernant le remplissage de la zone "nom", cad:
"merci se saisir le nom";
autrement dit, si je saisie qqch dans la zone "nom"; le formulaire s'envoie sans 'alerte' que le champs "commentaire" est vide;
merci une autre fois pour tes réponses;
0
Utilisateur anonyme
26 janv. 2011 à 11:11
bon toi tu es un phénomène:
tu m'as demandé de faire un script qui déclenche l'alerte lorsque la case est vide et c'est ce que j'ai fait. Si tu relances le script tu verras qu'il n'y a aucune erreur.
L'erreur surgit parce que le champ commentaire n'est plus vide si tu mets le pointeur dans ce champ tu verras qu'il y a soit un ou plusieurs espaces soit une tabulation et si tu effaces tout le script fonctionne. Et bien pour javascript l'espace rend la chaine non vide et c'est une erreur presente aussi chez google
il suffit de mettre plusieurs espaces et le moteur lance la recherche

pour y remédier il faut utiliser des expressions régulières:
<html>  
<head>  
<script language="Javascript">  
function verif()  
{  
var nom=formulaire.nom_cli.value;
var comment=formulaire.commentaire.value;
//expressions regulieres
var reg=new RegExp("[ ]+", "gi");
nom=nom.replace(reg,"");
comment=comment.replace(reg,"");

if(nom==""&& comment=="") // si tous les champs sont vides! affiche l'alerte!  
{  
alert('Merci de remplir les champs !');  
return false;  
}  
else if(nom=="") // s'il manque le nom, affiche l'alerte !  
{  
alert('Merci de saisir votre nom!');  
return false;  
}  
else if(comment=="") // s'il manque le prénom, affiche l'alerte !  
{  
alert('Merci de saisir le commentaire!');  
return false;  
}  
else{  
return true;  
}  
}  
</script>  
</head>  
<body>  
<form action="inserer.php" method=POST name="formulaire" onSubmit="return verif()">  
<b>Nom:</b> <input type="text" name="nom_cli" value="" size="33" maxlength=16><br>  
<br><b>Commentaire:</b>  
<br><textarea name="commentaire" rows=12 cols=42>  
</textarea><br>  
<input type="submit" value="Envoyer" >  
</form>  
</body>  
</html>   




voilà ton script google devrait en faire autant :)
@ +
0
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 2
26 janv. 2011 à 12:55
lol, toi aussi, tu es un phénomène; mais je te remercie pour tes efforts ;
c'est bien maintenant; ça marche bien :) @+
0
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 2
24 janv. 2011 à 23:25
aucune de réponse?!!!!!!!!!
0
LaurentJ1 Messages postés 43 Date d'inscription vendredi 7 janvier 2011 Statut Membre Dernière intervention 30 janvier 2011 8
25 janv. 2011 à 11:33
Salut
https://forums.commentcamarche.net/forum/affich-2022953-js-controle-champs-formulaire

tape dans google : script vérification champ formulaire et tu as une centaine de sujets déjà traités... un peu de recherche ne fais pas de mal.
ciaoo
0
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 2
25 janv. 2011 à 13:49
voici mon script, mais ça marche pas!!

<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>
<body>
<form action="inserer.php" method=POST name="formulaire" onSubmit="return verif(this.form)">
<b>Nom:</b> <input type="text" name="nom_cli" value="" size="33" maxlength=16><br>
<br><b>Commentaire:</b>
<br><textarea name="commentaire" rows=12 cols=42>
</textarea><br>
<input type="submit" value="Envoyer" >
</form>
</body>
</html>

je c pas où es le pb?!! merci de me répondre.
0