|
|
|
|
Bonjour,
Un petit probleme pour les accro de javascript
Je viens de créer un formulaire, et je souhaiterais que mon code javascript empeche d'envoyer le message quand les champs sont vides.
Le probleme est que mon code n'excecute que la 1ere condition, et zappe les suivantes, j'ai du oublier un truc tout bete ...
si quelqu'un peu m'aider , merci d'avance
voila mon code javascript :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Qui desirez-vous contacter ?</title>
<script type="text/javascript" language="Javascript" >
<!--
function verification()
{
if(document.formulaire.nom.value == "") {
alert("Veuillez entrer votre Nom svp");
document.formulaire.nom.focus();
return false;
}
else
return true;
if(document.formulaire.sujet.value == "") {
alert("Veuillez entrer un sujet a votre message svp");
document.formulaire.sujet.focus();
return false;
}
else
return true;
if(document.formulaire.message.value == "") {
alert("Veuillez entrer un message svp");
document.formulaire.message.focus();
return false;
}
else
return true;
if(document.formulaire.email.value == "") {
alert("Veuillez entrer votre adresse email svp");
document.formulaire.email.focus();
return false;
}
else
return true;
}
//-->
</script>
</head>
Configuration: Windows XP Internet Explorer 6.0
Bonjour.
function verification() {
if(document.formulaire.nom.value == "") {
// SI nom est vide, on affiche une alerte, puis on sort de la fonction. La fonction renvoie FALSE
alert("Veuillez entrer votre Nom svp");
document.formulaire.nom.focus();
return false;
}
// SINON, on sort de la fonction, et elle renvoie TRUE
else
return true;
// Le reste n'est jamais exécuté, vu qu'on sort toujours de la fonction !!!
if(document.formulaire.sujet.value == "") {
Enlève les else return TRUE;, et mets juste, à la fin de la fonction return TRUE; |
Dès que tu fais un "return", ta fonction s'arrete...
function verification()
{
var erreur = false ;
if(document.formulaire.nom.value == "") {
alert("Veuillez entrer votre Nom svp");
document.formulaire.nom.focus();
erreur = true ;
}
if(document.formulaire.sujet.value == "") {
alert("Veuillez entrer un sujet a votre message svp");
document.formulaire.sujet.focus();
erreur = true ;
}
if(document.formulaire.message.value == "") {
alert("Veuillez entrer un message svp");
document.formulaire.message.focus();
erreur = true ;
}
if(document.formulaire.email.value == "") {
alert("Veuillez entrer votre adresse email svp");
document.formulaire.email.focus();
erreur = true ;
}
if( erreur == true)
return false;
else
return true;
}
Il y a encore un petit problème je pense... Ton focus va être donné à la dernière erreur, soit si tous les champs sont vides, ça le donnera au champ "e-mail".. |
Bjr
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Qui desirez-vous contacter ?</title> <script type="text/javascript" language="Javascript" > <!-- function Champ(id, msg) { this.id=id; this.msg=msg; } Champ.prototype.verifier=function() { return (document.getElementById(this.id).value == "") ? this : null; } Champ.prototype.setFocus=function() { document.getElementById(this.id).focus(); } function ChampListe() { this.items = new Array(); } ChampListe.prototype.add=function(id,msg) { this.items.push(new Champ(id,msg)); } ChampListe.prototype.verifierTout=function() { var result = null; for (var i=0; i < this.items.length; i++) { result = this.items[i].verifier(); if (result) { break; } } return result; } var champs = new ChampListe(); // Ici on ajoute autant de champs qu'on désire // du moment qu'il s'agit bien de champs texte -> input ="text" // Nota qu'on passe l'id de chaque champ et pas son attribut "name" champs.add("nom","Veuillez entrer votre Nom svp"); champs.add("sujet","Veuillez entrer un sujet a votre message svp"); champs.add("message","Veuillez entrer un message svp"); champs.add("mail","Veuillez entrer votre adresse email svp"); function verification() { var champ = champs.verifierTout(); if (champ) { alert(champ.msg); champ.setFocus(); return false; } else { return true; } } //--> </script> </head> <body> <form> <table> <tr> <td>Nom</td><td><input type="text" id="nom"></td> </tr> <tr> <td>Sujet</td><td><input type="text" id="sujet"></td> </tr> <tr> <td>Message</td><td><input type="text" id="message"></td> </tr> <tr> <td>Email</td><td><input type="text" id="mail"></td> </tr> </table> <input type="button" onclick="verification()" value="Vérifier"> </form> </body> je sais pas si ca peut t'aider PhP Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...
|