Message alert dans la meme page

Fermé
hraiwen - 30 mars 2009 à 11:27
 hraiwen - 30 mars 2009 à 15:39
Bonjour tout le monde,
mon probleme faire un controle sous un formulaire mais dans la meme page
et merci d'avance.
un grand merci spécial pour nookZ qui ma aidé dans le pbleme ajax des select
A voir également:

1 réponse

NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514
30 mars 2009 à 11:40
Pour un message d'alerte, il faut tester les différents champs de ton formulaire et afficher le message en javascript.

Voici un exemple :http://fr.selfhtml.org/javascript/exemples/entrees_formulaire.htm

Personnellement je préfère afficher tous les champs non remplis d'un coup(1/) ou mettre en rouge les champs non validés(2/).

1/ il suffit de créer une variables message : var message="Les champs suivants sont obligatoires : "; au début de la fonction de vérification
puis à chaque condition on fait message+="nom du champ vérifié"; ainsi on ajoute son nom à la suite du message
ex : if(document.formulaire.lieu.value == "") { message += " lieu -"}
ainsi à la fin on a un message ainsi : "Les champs suivants sont obligatoires : lieu - nom - email -"
pour enlever le dernier tiret on peut faire en fin de fonction :
message.substr(message.length-1,1);

2/ il faut créer une classe CSS mettant le nom du champ en rouge et gras
.obligatoire{
color:red;
font-weight:bold;
}
et l'appliquer dans le JS au lieu de faire une alerte, on fait :
if(document.formulaire.lieu.value == "") {
document.formulaire.lieu.cssClass="obligatoire";
return false;
}
0
bj,
j'ai essayé de faire mais lorsque je clique sur envoyer seul le 1 champs est testé, voici mon code
<script type="text/javascript">
function verif_formulaire()
{
if(document.form_selects.obj.value == "") {
alert("le sujet de votre demande est obligatoire!");
document.form_selects.obj.focus();
return false;
}
if(form_selects.elements["list0"].options.length==0) {
alert("le secteur de votre demande est obligatoire!");
return false;
}
if(document.form_selects.desc.value == "") {
alert("la description de votre demande est obligatoire");
document.form_selects.desc.focus();
return false;
}
}
</script>
0
NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514 > hraiwen
30 mars 2009 à 13:43
tu veux dire qu'une seule alerte a lieu?
0
hraiwen > NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013
30 mars 2009 à 14:09
oui le premier alert
0
NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514 > hraiwen
30 mars 2009 à 14:11
C'est pour ça que je disais que c'était pas la solution que je préférais.
En utilisant ma technique avec la variable message et en ne faisant le "alert" qu'à la fin, le problème sera réglé :)
0
hraiwen > NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013
30 mars 2009 à 14:45
j'essaie ca
function verif_formulaire()
{
if((document.form_selects.obj.value == "") && (form_selects.elements["list0"].options.length==0) &&
(document.form_selects.desc.value == "") ) {
alert("veuillez remplir les champs obligatoire!");
document.form_selects.obj.cssClass="obligatoire";
document.form_selects.list0.cssClass="obligatoire";
document.form_selects.desc.cssClass="obligatoire";
return false;
}
}
mais ca ne marche pas
0