Bonjour,
j'ai réalisé quelques fonctions pour verifier un formulaire avant sa soumission.
Toyt d'abord une fonction qui verifie si un des champs est vides,si c'est bon elle appelle une autre fonction qui verifie si le format de l'adresse mail est bon. Si c'est encore ok, appell d'une fonction qui vérifie le format du code postal. Si c'est bon appel d'une fonction qui demande confirmation avant de soumettre le formulaire.
Voici le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 
<script type="text/javascript">
//<!--[CDATA[
 
//fonction qui verifie si un champ du formulaire est vide
function confirm_formulaire(){
	var societe=document.getElementById("societe").value;
	var adresse=document.getElementById("adresse").value;
	var cp=document.getElementById("cp").value;
	var ville=document.getElementById("ville").value;
	var nom=document.getElementById("nom").value;
	var prenom=document.getElementById("prenom").value;
	var mail=document.getElementById("mail_client").value;
	var tel=document.getElementById("tel").value;
	var nb=document.getElementById("nb").value;
	if(societe==""){ alert('le champ société est vide'); return false;}
	else if(adresse==""){ alert('le champ "adresse" est vide');return false;}
	else if(cp==""){  alert('le champ "code postal" est vide');return false;}
	else if(ville==""){  alert('le champ "ville" est vide');return false;}
	else if(nom==""){  alert('le champ "nom" est vide');return false;}
	else if(prenom==""){  alert('le champ "prenom" est vide');return false;}
	else if(mail==""){  alert('le champ "mail" est vide');return false;	}	
	else if(tel=""){alert("un champ est vide");return false;}
	else if(nb=="0"){alert("le nombre de carnet est incorrect");return false;}
	else {return confirm_mail();}
 
 
}
//si formulaire non vide, vérifie le format de l'adresse mail
function confirm_mail(){
	var mail=document.getElementById("mail_client").value;
	var expReg=/^[a-z\d]+((\.|-|_)[a-z\d]+)*@((?![-\d])[a-z\d-]{0,62}[a-z\d]\.){1,4}[a-z]{2,6}$/gi; 
	if (! expReg.test(mail)){
		alert("veuillez verifier le format de l'adresse mail");return false;
	}	
	else{
		return confirm_cp();
	}
}
 
//si adresse mail ok --->vérifie le format du code postal
function confirm_cp(){
	var cp=document.getElementById("cp").value;
	var expReg=/^[0-9]{5}$/;
	if (! expReg.test(cp)){
		alert("veuillez verifier le format du code postal");return false;
	}	
	else{
		return confirm_saisie();
	}
}
 
//si code postal ok --->demande confirmation
function confirm_saisie(){
	if(confirm("Le client va être créé.\nSouhaitez vous poursuivre ? ")){
		return true;
	}
	else {
		return false;
	}
}
 
 
//]]-->
</script>
Tout ceci fonctionne SAUF QUE quand le format du code postal n'est pas respecté, le message d'erreur s'affiche. Une fois corrigé et le formulaire revalidé la fenêtre indiquant que le format de l'adresse mail est invalide s'affiche alors que le format est bon...Quand on revalide de nouveau sans rien changer...ça passe. Pourquoi cette deuxième alerte pour le format du mail quand le code postal a été mauvais s'affiche ?

Merci pour votre aide.