Bonjour,

j'ai un formulaire (pages asp) dont le résultat doit être traité par une autre pages ASP

Sur ce formulaire j'ai des contrôles de validation en javascript
C'est contrôle marche bien mais dans tous les cas (même si il y a une erreur) le formulaire est quand même envoyé si je clique sur le bouton submit de celui-ci

Voici les éléments du code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<form name=formulaire action="InscriptionAdminUpdate5.asp" method="post">
le script

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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
<script language="JavaScript">
 
// Fonction de blocage de la saisie si elle n'est pas conforme
function bloque(formulaire,champ) {
// Creation d'un raccourci pour manipuler le champ
	var controle = eval('document.' + formulaire + '.' + champ);
 
// On se place sur le champ incrimine
	controle.focus();
 
// On selectionne le contenu pour faciliter la reprise de la saisie
	controle.select();
	}
 
 
// Fonction de controle des champs vides
 
// Debut du message qui sera affiche en cas d'un ou plusieurs champ(s) vide(s)
var mess = "Les champs suivants sont necessaires au traitement de votre demande :\n";
 
// Copie pour reinitialisation
var mess_init = "Les champs suivants sont necessaires au traitement de votre demande :\n";
 
// Variable marquant l'erreur (0 : tout va bien, 1 : blocage demande)
var necessaire = 0;
 
function vide(formulaire,champ,alerte) {
 
// Creation d'un raccourci pour manipuler le champ a tester
	var controle = eval('document.' + formulaire + '.' + champ);
 
 
// Si c'est un champ de type mot de passe
	if ( controle.type == 'password' ) {
		if ( controle.value.length < 1 ) {
			mess += alerte;
			mess += "\n";
			necessaire = 1;
			}
		}
 
	}
 
 
// Fonction de validation du formulaire
function resultat(formulaire) {
 
// Si on a marque qu'au moins un champ etait vide
	if ( necessaire == 1 ) {
 
// Affichage du message d'erreur avec tous les champs en erreur
		alert(mess);
		}
 
// Si aucun champ n'est vide
	if ( necessaire == 0 ) {
		var formu = eval('document.' + formulaire);
 
// Validation du formulaire
		formu.submit();
		}
 
// Quoi qu'il arrive, on re-initialise le message d'erreur pour permettre un autre passage des tests
	mess = mess_init;
	necessaire = 0;
	}
 
 
// Fonction de controle de validite de la saisie
// Creation d'une variable pour marquer s'il y a incoherence de saisie ou pas
var probleme = 0;
 
function validite(formulaire,champ,format,mini,maxi) {
 
// Initialisation de la variable
	probleme = 0;
 
// Les differents tests possibles :
 
	 RE = /^[A-Za-zàâäéèêëîïôùûç\s,'0-9\-]+$/;
 
 
// Creation d'un raccourci pour manipuler le champ a tester
	var controle = eval('document.' + formulaire + '.' + champ);
 
// On ne fera les tests que si le champ est rempli d'au moins un caractere (pas vide)
	if (controle.value.length > 0) {
 
// Si on ne trouve pas dans le champ l'expression reguliere recherchee
		if (!RE.test(controle.value)) {
 
// Envoi d'une alerte
			alert('Votre saisie est incorrecte.');
 
// On marque que la saisie n'est pas coherente
			probleme = 1;
			}
 
// Tests de longueur du champ (nombre de caracteres saisis)
// Si il a ete specifie '0', le test n'est pas effectue
		if ( mini != 0 ) {
 
// Si la longueur de la saisie est inferieure au minimum demande
			if ( controle.value.length < mini || controle.value.length > maxi ) {
 
// Envoi d'une alerte
				alert('Vous devez saisir entre 8 et 15 caractères alphanumériques');
			probleme = 1;
				}
		}
 
// Si on a marque qu'il y avait un probleme
		if ( probleme == 1 ) {
 
// On active le blocage du champ
			bloque(formulaire,champ);
			}
		}
	}
 
 
// Fonction pour verifier la coherence de deux saisies de mot de passe
// Cette fonction se declenche a partir du second champ uniquement
function check_pw(formulaire,champ1,champ2) {
// Creation de deux raccourcis pour manipuler les champ a comparer
	var prems = eval('document.' + formulaire + '.' + champ1);
	var deuze = eval('document.' + formulaire + '.' + champ2);
 
// Si le premier champ n'est pas rempli
	if (!prems.value) {
 
// Envoi d'une alerte
		alert('Vous n\'avez pas saisi votre mot de passe');
 
// On active le blocage du champ
		bloque(formulaire,champ1);
		}
 
// Si le premier champ est rempli
	else {
 
// Si la saisie des deux champ est differente
		if ( prems.value != deuze.value ) {
 
// Envoi d'une alerte
			alert('La confirmation de votre mot de passe n\'est pas exacte.');
 
// Reinitialisation des deux champs
			deuze.value = "";
			prems.value = "";
 
// On active le blocage du champ
			bloque(formulaire,champ1);
			}
		}
	}
 
// Fonction pour tester les champs vides (une ligne par champ)
// Pour autoriser un champ vide, ne pas le referencer dans la liste
function check_vide() {
	vide('formulaire','Password2','- Votre mot de passe');
	vide('formulaire','Password3','- Confirmation du mot de passe');
 
// Validation (sous conditions) du formulaire
	resultat('formulaire');
	}
 
</script>

L'appel du script sur le bouton validez

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<input type="button" value="Validez" OnClick="check_vide();">

Merci pour votre aide