Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/01/2011, 11h43   #1
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Par défaut Affichage d'erreur dans la page html

Bonjour,
J'ai un formulaire html avec une vérification javascript et php pour savoir si
les champs obligatoire sont bien remplis.

Je voulais savoir si en javascript il était possible d'afficher les erreurs à côté du champ concerné plutôt que dans une alert et si oui comment faire ?
Sinon quel langage utilisé, j'espère ne pas à avoir refaire tout mon formulaire... en java ou je ne sais quoi...
Si ce n'est pas possible en javascript est ce que je pourrais avoir un exemple pour avoir tout les message d'erreur dans une même alert ?

du genre : Veuillez entrer votre : NOM
MAIL
TEL etc...


voila un exemple de mon javascript :

Code :
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
var verif = RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$");
function verification() {
   if(document.formulaire.nom.value == "") {
      alert("var verif = RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$");
function verification() {
   if(document.formulaire.nom.value == "") {
      alert("Veuillez entrer votre NOM svp");
      document.formulaire.nom.focus();
      return false;
   }
      if(document.formulaire.mail.value == "") {
      alert("Veuillez entrer votre MAIL svp");
      document.formulaire.mail.focus();
      return false;
	  }
 	if (verif.exec(document.formulaire.mail.value) == null)
 	{
	alert("Votre email est incorrecte");
 	return false;
 } ");
      document.formulaire.nom.focus();
      return false;
   }
      if(document.formulaire.mail.value == "") {
      alert("Veuillez entrer votre MAIL svp");
      document.formulaire.mail.focus();
      return false;
	  }
 	if (verif.exec(document.formulaire.mail.value) == null)
 	{
	alert("Votre email est incorrecte");
 	return false;
 }
etc....



Merci.
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 13h02   #2
Membre du Club
 
Avatar de ninatity
 
Femme
Développeur informatique
Inscription : octobre 2010
Messages : 62
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 25
Localisation : Madagascar

Informations professionnelles :
Activité : Développeur informatique
Secteur : Distribution

Informations forums :
Inscription : octobre 2010
Messages : 62
Points : 54
Points : 54
Envoyer un message via Yahoo à ninatity
Citation:
Envoyé par Irokoi Voir le message
Bonjour,
J'ai un formulaire html avec une vérification javascript et php pour savoir si
les champs obligatoire sont bien remplis.

Je voulais savoir si en javascript il était possible d'afficher les erreurs à côté du champ concerné plutôt que dans une alert et si oui comment faire ?
Oui c'est faisable en javascript. Utilises Ajax pour cela. Regardes des tutos et des exemples. Il y en a pleins.
Exemple http://dmouronval.developpez.com/tut...-requete-ajax/

Bonne continuation
ninatity est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 13h21   #3
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 750
Points : 4 750
Bien le bonjour à vous
Citation:
Envoyé par Irokoi
Je voulais savoir si en javascript il était possible d'afficher les erreurs à côté du champ concerné plutôt que dans une alert et si oui comment faire ?
affichage/masquage de div ou autre span en jouant sur la propriété style.display des éléments.

L'utilisation d'AJAX ne m'apparaît pas évidente sur ce coup.
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 13h35   #4
Membre Expert
 
Inscription : septembre 2010
Messages : 1 238
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 238
Points : 1 558
Points : 1 558
Non effectivement l'utilisation d'AJAX ne se justifierait que s'il fallait par exemple contrôler qu'un nom saisi correspond à un nom existant dans une bdd...

J'ai donné un exemple de contrôle de formulaire en javascript dans ce topic

A la place du alert qui est là pour le principe tu peux enregistrer les résultats du contrôle dans un tableau que tu liste ensuite (en javascript) dans un div html prévu à cet effet. Toutes les erreurs seront repportées d'un coup.
Ou tu peux aussi faire comme dit NoSmoking, faire afficher des <span> en fonction du résultat de la vérification.
ABCIWEB est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 13h50   #5
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Merci vous me rassurez car je n'ai pas envie de me prendre la tête à rajouter du ajax.
Je vais voir ce que je peux faire avec les div ou span.
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 15h19   #6
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Alors voila ce que je viens de faire mais qui évidemment ne marche pas :

Code :
1
2
3
4
5
6
function verification() {
	 if(document.formulaire.adresse.value == "") {
      document.getElementById(erreuradresse).style.visibility = "visible";
      document.formulaire.adresse.focus();
      return false;
   }
et le html :

Code html :
1
2
3
4
5
6
7
8
9
10
<form name="formulaire" method="POST" action="form2.php" onsubmit="return verification();">
 
<fieldset>
 
<legend class="legend">Coordonnée du bien</legend>
<label for="adresse" class="important">*Adresse du bien à vendre </label>
 
<input name="adresse" id="adresse" size="50" class="error" maxlength="100" type="text"/>
 
<span id="erreuradresse" style="display: none" >Vous avez oublié l'adresse !</span>

Si quelqu'un peut m'éclairer ?
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 15h28   #7
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 802
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 802
Points : 35 807
Points : 35 807
C'est bien de faire
Code :
document.getElementById(erreuradresse).style.visibility = "visible";
mais comme ton span est en display none et que tu ne modifies pas le display, ça ne risque pas de changer grand chose !
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 15h46   #8
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Tout d'abord désoler pour la couleur du code ensuite effectivement j'ai modifier mon erreur et ça marche.

Maintenant il faut que toutes les erreurs soient affichées d'un seul coup donc que
le code vérifie tout et renvoi toutes les erreurs pour que ce soit résolu.

tout de même voila mon code modifier si quelqu'un passe par la :

Code html :
1
2
 
<span id="erreuradresse" style="visibility:hidden" > Vous avez fait une erreur !</span>
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 16h40   #9
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
J'imagine que pour tout vérifier il faut faire une boucle et renvoyer les spans de tout les élément qui ne sont pas remplie, problème je ne sais pas faire de boucle est-ce que quelqu'un peut m'orienter sur la boucle ici à faire ?

ABCIWEB je regarde ton code mais ne sait pas comment l'adapter

Code javascript :
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
 
function Controle_champ(bloc,type_champ)
{
    // Sélection du bloc contenant les champs à contrôler
	var bloc = document.getElementById(bloc);
 
 
	if(bloc)
		{
			//Initialisation d'une variable pour contenir un tableau.
			var tab = new Array();
 
			// Cherche les balises "type_champ" inlues dans le bloc ("formulaire1" ou "form_text" dans l'exemple) 
			tab = bloc.getElementsByTagName(type_champ);
 
	   	   	var nb_tableau = tab.length;
 
			// Liste les éléments du tableau
			for (i=0; i < nb_tableau; i++)        
				{
					alert(tab[i].value);				
				}
 
		}
}
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 18h33   #10
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 750
Points : 4 750
iln'est pas forcément besoin de boucle, dans un premier temps, pour tous vérifier et afficher les message d'erreur, exemple de fonction simplifiée
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function verification() {
  // flag pour le retour
  var bErreur = false;
  // realisation du test
  if( document.formulaire.nom.value == "") {
    // affichage message erreur    
    document.getElementById('erreur_nom').style.display = "inline";
    // signal erreur
    bErreur = true;
  }
  if( document.formulaire.mail.value == "") {
    document.getElementById('erreur_mail').style.display = "inline";
    document.formulaire.mail.focus();
    bErreur = true;
  }
  // retourne le statut
  return( bErreur);
}
il restera d'autres petits problèmes à régler, mais chaque chose en son temps...
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 22h19   #11
Membre Expert
 
Inscription : septembre 2010
Messages : 1 238
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 238
Points : 1 558
Points : 1 558
Mon code c'est un exemple pour sélectionner des champs dans un bloc sans avoir à les nommer. C'est donc surtout pratique si tu peux regrouper les champs à contrôler.

En l'adaptant avec un système d'alerte qui fait afficher un span derrière les champs vides, ça pourrait donner quelque chose comme ça :


Code :
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
<script type="text/javascript">
<!--
function Controle_champs(bloc,type_champ)
{
 
	function trim (myString)
		{//supprime les espaces vides en début et en fin de chaine
			return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
		}
 
 
	var bloc_controle;
 
	 // Sélection du bloc contenant les champs à contrôler
	if(bloc_controle = document.getElementById(bloc))
		{
			//Initialisation d'une variable pour contenir un tableau.
			var tab = new Array();
 
			// Cherche les balises "type_champ" inlues dans le bloc ("formulaire1" ou "form_text" dans l'exemple) 
			tab = bloc_controle.getElementsByTagName(type_champ);
 
	   	   	var nb_tableau = tab.length;
 
			var etat = true;
			var span;
 
			// Liste les éléments du tableau
			for (i=0; i < nb_tableau; i++)        
				{
					var id_span = tab[i].name+'_controle';//id du span = nom du champ concaténé à _controle
 
					// Si le span associé existe on fait le contrôle
					if(span = document.getElementById(id_span))	
					{	
						if(trim(tab[i].value) == "") 
							{
								span.style.visibility = 'visible';
								etat = false;
							}
							else
							{
								span.style.visibility = 'hidden';
							}
					}			
				}
 
			if(etat == true) 
			return true; 
			else 
			return false;									  
		}
}
 
function Controle_form ()
{
	var etat = true;
 
	// ici tu défini les bloc à contrôler avec le type de champs associés en les passant en paramètres à la fonction Controle_champs
 
	if (!Controle_champs('form_input','input')) etat = false;
	if (!Controle_champs('form_text','textarea')) etat = false; 
 
	return etat;
}
-->
</script>
<style type="text/css">
<!--
#form_input span, #form_text span{
visibility:hidden;
}
-->
</style>
</head>
 
<body>
 
<div>
	<form action = "#" method = "post" id = "form1"  onsubmit = "return Controle_form()" >
		<div>
				<p id = "form_input">
 
					 <input type="text" name = "nom" value = ""  /><span id = "nom_controle">Le champ nom doit être rempli</span><br />
 
					 <input type="text" name = "prenom" value = ""  /><span id = "prenom_controle">Le champ prénom doit être rempli</span><br />
					 <input type="text" name = "mail" value = ""  /><span id = "mail_controle">Le champ mail doit être rempli</span><br />
 
					 <input type="text" name = "tel" value = ""  />ce champ n'est pas contrôlé car il n'a pas d'élément avec un id = "nom du champ_controle"<br />
 
				</p>
 
				<p id = "form_text">
					<textarea name="texte" ></textarea><span id = "texte_controle">Le champ de texte doit être rempli</span><br />
				</p>		 
 
				<input name = "envoyer" value = "Envoyer" type = "submit"/>
 
		</div>
	</form>
</div>
</body>
</html>
Le principe du jeu pour le codage html est d'identifier le span d'alerte avec un id constitué du nom du champ concaténé à l'expression '_controle'. Si cet id n'existe pas le contrôle ne se fait pas.

Pour le javascript c'est dans la fonction "Controle_form" que tu mets les différents blocs à contrôler à l'aide de la fonction "Controle_champs"
ABCIWEB est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 10h30   #12
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Alors j'ai essayé de faire un mixe entre les différents codes
mais ici seul le code d'ABCIWEB fonctionne,c'est à dire que les champs non remplis affiche l'erreur mais
par exemple ici le "verifTel" et "if(document.formulaire.pass.value.length >= 5) etat = false;" ne fonctionnent pas
Code javascript :
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
 
var verifTel = /^0[1-9]([_.\-\s]*[0-9]{2}){4}$/;
var verif = RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$");
function Controle_champs(bloc,type_champ)
{
 
	function trim (myString)
		{//supprime les espaces vides en début et en fin de chaine
			return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
		}
 
 
	var bloc_controle;
 
	 // Sélection du bloc contenant les champs à contrôler
	if(bloc_controle = document.getElementById(bloc))
		{
			//Initialisation d'une variable pour contenir un tableau.
			var tab = new Array();
 
			// Cherche les balises "type_champ" inlues dans le bloc ("formulaire1" ou "form_text" dans l'exemple) 
			tab = bloc_controle.getElementsByTagName(type_champ);
 
	   	   	var nb_tableau = tab.length;
 
			var etat = true;
			var span;
 
			// Liste les éléments du tableau
			for (i=0; i < nb_tableau; i++)        
				{
					var id_span = tab[i].name+'_controle';//id du span = nom du champ concaténé à _controle
 
					// Si le span associé existe on fait le contrôle
					if(span = document.getElementById(id_span))	
					{	
						if(trim(tab[i].value) == "") 
							{
								span.style.visibility = 'visible';
								etat = false;
							}
							else
							{
								span.style.visibility = 'hidden';
							}
					}			
				}
 
			if(etat == true) 
			return true; 
			else 
			return false;									  
		}
}
 
function Controle_form ()
{
	var etat = true;
 
	// ici tu défini les bloc à contrôler avec le type de champs associés en les passant en paramètres à la fonction Controle_champs
	if(document.formulaire.pass.value.length >= 5) etat = false;
	if (!Controle_champs('form_input','input')) etat = false;
	if (!Controle_champs('form_text','textarea')) etat = false; 
	if (!verifTel(document.formulaire.numero.value))etat = false; 
 
 
	return etat;
}
Code html :
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
 
<style type="text/css">
<!--
#form_input span, #form_text span{
visibility:hidden;
}
-->
</style>
</head>
 
<body>
<div class="form-container">
Remplissez les champs ci-dessous pour réaliser votre estimation. <br />
C'est gratuit et sans engagement !
<form name="formulaire" method="POST" action="verifenregistrement.php" onsubmit="return Controle_form();">
<fieldset>
<div>
<input name="MR" value="Mr" checked="checked" type="radio" />Mr
<input name="MR" value="Mme" type="radio" />Mme
</div>
<div id = "form_input">
<label for="nom"><font color="#FF0000"> *</font>Votre nom :</label><p>
<input id="nom" name="nom" size="50" maxlength="100" type="text" class="error" value="" />
<span id = "nom_controle" class="important">&nbsp;Le champ NOM doit être rempli</span></p>
<p>&nbsp;</p>
<label for="prenom"><font color="#FF0000"> *</font>Votre prénom :</label>
<p>
<input id="prenom" name="prenom" size="50" maxlength="100" type="text" class="error" value="" />
<span id = "prenom_controle" class="important">&nbsp;Le champ PRENOM doit être rempli</span></p>
<p>&nbsp;</p>
 
<label for="mail"><font color="#FF0000"> *</font>Votre adresse mail :</label>
<p>
<input name="mail" id="mail" size="50" maxlength="100" type="text" class="error" value="" />
<span id = "mail_controle" class="important">&nbsp;Le champ MAIL doit être rempli</span></p>
<p>&nbsp;</p>
 
<label for="numero"><font color="#FF0000"> *</font>Votre numéro de
téléphone :</label>
<p>
<input name="numero" id="numero" size="15" maxlength="15" type="text" class="error" value=""/>
<span id = "numero_controle" class="important">&nbsp;Le champ TELEPHONE doit être rempli</span></p>
<p>&nbsp;</p>
 
<label for="pass"><font color="#FF0000"> *</font>Password :</label>
<p>
<input type="password" name="pass" id="pass" value="" class="error" />
<span id = "pass_controle" class="important">&nbsp;Le champ PASSWORD doit être rempli</span></p>
 
<p>&nbsp;</p>
<label for="confirmation"><font color="#FF0000"> *</font>Confirmation password :</label>
<p>
<input type="password" name="confirmation" id="confirmation" value="" class="error" />
<span id = "confirmation_controle" class="important">&nbsp;Le champ CONFIRMATION doit être rempli</span></p>
</div>
</fieldset>
<input type="submit"  value="Enregistrement"/>
</form>
</div>
</body>
</html>
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 10h48   #13
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Pareil NoSmoking je viens de test ta version mais les span s'affiche
1/2 seconde ce qui n'est pas très pratique je ne comprends pas pourquoi d'ailleurs

look

Code javascript :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
var bErreur = false;
function verification() {
  // flag pour le retour
  // realisation du test
  if( document.formulaire.nom.value == "") {
    // affichage message erreur    
    document.getElementById('erreur_nom').style.visibility = "visible";
    // signal erreur
    bErreur = true;
  }
  if( document.formulaire.mail.value == "") {
    document.getElementById('erreur_mail').style.visibility = "visible";
    bErreur = true;
  }
  // retourne le statut
  return(bErreur);
}

Code html :
1
2
3
4
 
<label for="nom"><font color="#FF0000"> *</font>Votre nom :</label><p>
<input id="nom" name="nom" size="50" maxlength="100" type="text" class="error" value="" />
<span id = "erreur_nom"  style="visibility:hidden" class="important">&nbsp;Le champ NOM doit être rempli</span>
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 15h54   #14
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 750
Points : 4 750
grosse ERREUR de ma part
Code :
1
2
  // retourne le statut
  return(!bErreur); // not Erreur
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 17h22   #15
skandhal
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Bon alors pour faire cela en JS de façon simple et efficace sans se prendre la tête avec des jquerry ou autre!

Code JavaScript :
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
 
function check_form_connexion()
{
	var login = document.form_connexion.f_login.value;
	var password = document.form_connexion.f_password.value;
 
	/* Les champs sont renseignes */	
	if (login != "" && password != "" ) return(true);
	else // SINON EDITION DU MESSAGE D'ERREUR
	{
		if (login == "") /* Avertissement sur login */
		{
			document.form_connexion.f_login.style.backgroundColor = "#DC143C";
			document.getElementById("hlogin").className= "visible"; 
		}
		else document.getElementById("hlogin").className= "hidden";
		if (password == "") /* Avertissement sur password */
		{
			document.form_connexion.f_password.style.backgroundColor = "#DC143C";
			document.getElementById("hpassword").className= "visible";
		}
		else document.getElementById("hpassword").className= "hidden";
		return(false);
	}
} // End of: function check_form_connexion()


Code HTML :
1
2
3
4
5
6
7
8
9
 
<h2>Connectez-vous</h2>
<form name="form_connexion" method="post" action="./connexion.php">
	<table>
		<tr><td>Login:</td><td><input id="login" type="text" name="f_login" maxlength="64" size="35"/></td><td id="hlogin"class="hidden">Veuillez entrer votre login</td></tr>
		<tr><td>Mot de passe:</td><td><input id="password" type="password" name="f_password" maxlength="64" size="35"/></td><td id="hpassword"class="hidden">Veuillez entrer votre mot de passe</td></tr>
		<tr><td></td><td><input id="button" type="submit" value="Se connecter" onclick="return check_form_connexion();" /></td></tr>
	</table>
</form>'

Code CSS :
1
2
3
4
5
6
7
8
9
10
11
 
/*****************************************************************************
 * Afficher/Cacher
 */
	.visible {
		display: inline;
	}
 
	.hidden {
		display: none;
	}

J'utilise cela depuis quelques mois maintenant et ça marche nickel.

En gros tu remplis ton formulaire. Dans cet exemple, on attend un login et un password.

Lorque l'utilisateur va cliquer sur le bouton on va appeler la fonction check_form_connexion()

Cette fonction vérifié que les champs login et password ne sont pas vide. Si un des 2 champs (ou les 2) sont vides on changera le nom de la propriété class (CSS) du message d'erreur. Dans ce cas là, l'action n'est pas réalisée car la fonction JS renvoie false. Et le(s) message(s) d'erreur est(sont) affiché(s).

Dans le cas contraire, aucun message d'erreur n'apparait et comme la fonction JS renvoie true, l'action est réalisée.

class="hidden" = caché, le message d'erreur n'est pas visible (par défaut).
class="visible" = visible, le message d'erreur est visible.


Simple comme un Hello World, ou presque.

Voilà, si y a d'autres questions après 18h30 faudra attendre demain matin (pas internet à la maison)
  Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 17h32   #16
Membre Expert
 
Inscription : septembre 2010
Messages : 1 238
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 238
Points : 1 558
Points : 1 558
Concernant mon code tu peux utiliser la fonction Controle_champs pour vérifier des champs vides, pour le reste il vaut mieux te créer des fonctions dédiées.
Je viens de créer une fonction Verif_Champ qui vérifie des regex, pour le mail et le téléphone (j'ai utilisé les regex que j'ai trouvé dans ton code sans vérifier s'ils étaient ok)

Donc en reprenant le même principe cela donne :

Code :
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
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
<script type="text/javascript">
<!--
function Trim (myString)
{//supprime les espaces vides en début et en fin de chaine
    return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
}
 
 
function Verif_Champ(id_input, regex)
{
    var champ;
    var etat = true;
 
    if (champ = document.getElementById(id_input))
        {
            var id_span = champ.name+'_verif';//id du span = nom du champ concaténé à _verif
            var span;    
 
            // Si le span associé existe on fait le contrôle
            if(span = document.getElementById(id_span))    
                {
                    // Test le regex ou si le champ est vide
                    if ((regex.test(champ.value)) || Trim (champ.value) == '') 
                        {
                            span.style.display = 'none';
                        }
                        else 
                        {
                            span.style.display = 'inline';
                            etat = false;
                        }
                }
        }
    return etat; 
}
 
 
 
function Controle_champs(bloc,type_champ)
{        
 
    var bloc_controle;
 
     // Sélection du bloc contenant les champs à contrôler
    if(bloc_controle = document.getElementById(bloc))
        {
            //Initialisation d'une variable pour contenir un tableau.
            var tab = new Array();
 
            // Cherche les balises "type_champ" inlues dans le bloc ("formulaire1" ou "form_text" dans l'exemple) 
            tab = bloc_controle.getElementsByTagName(type_champ);
 
                  var nb_tableau = tab.length;
 
            var etat = true;
            var span;
 
            // Liste les éléments du tableau
            for (i=0; i < nb_tableau; i++)        
                {
                    var id_span = tab[i].name+'_controle';//id du span = nom du champ concaténé à _controle
 
                    // Si le span associé existe on fait le contrôle
                    if(span = document.getElementById(id_span))    
                    {    
                        if(Trim(tab[i].value) == "") 
                            {
                                span.style.display = 'inline';
                                etat = false;
                            }
                            else
                            {
                                span.style.display = 'none';
                            }
                    }            
                }
 
            return etat;                                       
        }
}
 
 
 
function Controle_form ()
{
    var etat = true;
 
    // ici tu défini les bloc à contrôler (champs qui ne doivent pas être vides) avec le type de champs associés en les passant en paramètres à la fonction Controle_champs
    if (!Controle_champs('form_input','input')) etat = false;
 
    // ces contrôles spécifiques doivent être placés après la fonction Controle_champs puisqu'ils vérifient la qualité du champ. On passe à la fonction Verif_Champ l'id du champ et le regex de contrôle
 
    var regex_tel = /^0[1-9]([_.\-\s]*[0-9]{2}){4}$/;
    if (!Verif_Champ('numero',regex_tel)) etat = false;
 
    var regex_mail = /^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$/;
    if (!Verif_Champ('mail',regex_mail)) etat = false;
 
    return etat;
}
-->
</script>
<style type="text/css">
<!--
#form_input span {
display:none;
}
-->
</style>
</head>
 
<body>
<div class="form-container">
Remplissez les champs ci-dessous pour réaliser votre estimation. <br />
C'est gratuit et sans engagement !
<form name="formulaire" method="POST" action="verifenregistrement.php" onsubmit="return Controle_form();">
<fieldset>
<div>
<input name="MR" value="Mr" checked="checked" type="radio" />Mr
<input name="MR" value="Mme" type="radio" />Mme
</div>
<div id = "form_input">
<label for="nom"><font color="#FF0000"> *</font>Votre nom :</label><p>
<input id="nom" name="nom" size="50" maxlength="100" type="text" class="error" value="" />
<span id = "nom_controle" class="important">&nbsp;Le champ NOM doit être rempli</span></p>
<p>&nbsp;</p>
<label for="prenom"><font color="#FF0000"> *</font>Votre prénom :</label>
<p>
<input id="prenom" name="prenom" size="50" maxlength="100" type="text" class="error" value="" />
<span id = "prenom_controle" class="important">&nbsp;Le champ PRENOM doit être rempli</span></p>
<p>&nbsp;</p>
 
<label for="mail"><font color="#FF0000"> *</font>Votre adresse mail :</label>
<p>
<input name="mail" id="mail" size="50" maxlength="100" type="text" class="error" value="" />
<span id = "mail_controle" class="important">&nbsp;Le champ MAIL doit être rempli</span><span id = "mail_verif" class="important">&nbsp;Le champ MAIL est invalide</span></p>
<p>&nbsp;</p>
 
<label for="numero"><font color="#FF0000"> *</font>Votre numéro de
téléphone :</label>
<p>
<input name="numero" id="numero" size="15" maxlength="15" type="text" class="error" value="0473266334"/>
<span id = "numero_controle" class="important">&nbsp;Le champ TELEPHONE doit être rempli</span><span id = "numero_verif" class="important">&nbsp;Le champ TELEPHONE est invalide</span></p>
<p>&nbsp;</p>
 
<label for="pass"><font color="#FF0000"> *</font>Password :</label>
<p>
<input type="password" name="pass" id="pass" value="" class="error" />
<span id = "pass_controle" class="important">&nbsp;Le champ PASSWORD doit être rempli</span></p>
 
<p>&nbsp;</p>
<label for="confirmation"><font color="#FF0000"> *</font>Confirmation password :</label>
<p>
<input type="password" name="confirmation" id="confirmation" value="" class="error" />
<span id = "confirmation_controle" class="important">&nbsp;Le champ CONFIRMATION doit être rempli</span></p>
</div>
</fieldset>
<input type="submit"  value="Enregistrement"/>
</form>
</div>
</body>
</html>
ABCIWEB est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 12h36   #17
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Salut tout le monde, je fais des vérification, je n'ai pas abandonnée le poste,
j'essaie d'ajouter une vérification bouton radio je vous tiens au courant.
En tout cas pour le moment la méthode de ABCIWEB à l'air de fonctionner
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 15h46   #18
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Alors voila la vérification du type texte marche, cependant en ajoutant une vérification de bouton radio ça ne marche pas ainsi que savoir la différence entre les champs password et confirmation
voici ce que j'ai fait :
Code javascript :
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
 
function Trim (myString)
{//supprime les espaces vides en début et en fin de chaine
    return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
}
 
 
function Verif_Champ(id_input, regex)
{
    var champ;
    var etat = true;
 
    if (champ = document.getElementById(id_input))
        {
            var id_span = champ.name+'_verif';//id du span = nom du champ concaténé à _verif
            var span;    
 
            // Si le span associé existe on fait le contrôle
            if(span = document.getElementById(id_span))    
                {
                    // Test le regex ou si le champ est vide
                    if ((regex.test(champ.value)) || Trim (champ.value) == '') 
                        {
                            span.style.display = 'none';
                        }
                        else 
                        {
                            span.style.display = 'inline';
                            etat = false;
                        }
                }
        }
    return etat; 
}
 
 
 
function Controle_champs(bloc,type_champ)
{        
 
    var bloc_controle;
 
     // Sélection du bloc contenant les champs à contrôler
    if(bloc_controle = document.getElementById(bloc))
        {
            //Initialisation d'une variable pour contenir un tableau.
            var tab = new Array();
 
            // Cherche les balises "type_champ" inlues dans le bloc ("formulaire1" ou "form_text" dans l'exemple) 
            tab = bloc_controle.getElementsByTagName(type_champ);
 
                  var nb_tableau = tab.length;
 
            var etat = true;
            var span;
 
            // Liste les éléments du tableau
 
            for (i=0; i < nb_tableau; i++)        
                {
                    var id_span = tab[i].name+'_controle';//id du span = nom du champ concaténé à _controle
 
                    // Si le span associé existe on fait le contrôle
                    if(span = document.getElementById(id_span))    
                    {    
                        if(Trim(tab[i].value) == "") 
                            {
                                span.style.display = 'inline';
                                etat = false;
                            }
                            else
                            {
                                span.style.display = 'none';
                            }
                    }            
                }
 
            return etat;                                       
        }
}
 
 function Controle_form ()
{
    var etat = false;
	var radio_choice = true;
 
    // ici tu défini les bloc à contrôler (champs qui ne doivent pas être vides) avec le type de champs associés en les passant en paramètres à la fonction Controle_champs
    if (!Controle_champs('form_input','input')) etat = false;
    if(!Controle_champ('MR',radio_choice))etat =false;
    // ces contrôles spécifiques doivent être placés après la fonction Controle_champs puisqu'ils vérifient la qualité du champ. On passe à la fonction Verif_Champ l'id du champ et le regex de contrôle
	var regex_nom = /^([a-zA-Z\-]{2,})$/;
	if (!Verif_Champ('nom',regex_nom)) etat = false; 
 
 
	if (!Verif_Champ('prenom',regex_nom)) etat = false; 
 
    var regex_tel = /^([_.\-\s]*[0-9]{2,}){4,}$/;
    if (!Verif_Champ('numero',regex_tel)) etat = false;
 
    var regex_mail = /^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$/;
    if (!Verif_Champ('mail',regex_mail)) etat = false;
 
	var regex_pass = /^([a-zA-Z0-9]{5,})$/;
    if (!Verif_Champ('pass',regex_pass)) etat = false;
 
 
    return etat;
}

Et le formulaire :
Code html :
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
 
<div class="form-container">
<form name="formulaire" method="POST" action="verifenregistrement.php" onsubmit="return Controle_form();">
<fieldset><legend class="legend">Si vous êtes déjà enregistré</legend>
<div id = "form_input">
<input name="MR" id="mr" value="Mr"  type="radio" />Mr
<input name="MR" id="mr" value="Mme" type="radio" />Mme
<input name="MR" id="mr" value="Melle" type="radio" />Melle
<p>&nbsp;</p>
 
<label for="nom"><font color="#FF0000">*</font>Votre nom :</label>
<input id="nom" name="nom" size="50" maxlength="100" type="text" class="error" value="" />
<p>&nbsp;</p>
<label for="prenom"><font color="#FF0000">*</font>Votre prénom :</label>
<input id="prenom" name="prenom" size="50" maxlength="100" type="text" class="error" value="" />
<p>&nbsp;</p>
<label for="numero"><font color="#FF0000"> *</font>Votre numéro de
téléphone :</label>
<input name="numero" id="numero" size="15" maxlength="15" type="text" class="error" value=""/>
<p>&nbsp;</p>
 <label for="mail"><font color="#FF0000">*</font>Votre adresse mail :</label>
 
<input name="mail" id="mail" size="50" maxlength="100" type="text" class="error" value="" />
<p>&nbsp;</p>
 
<label for="pass"><font color="#FF0000">*</font>Password :</label>
<p>
<input type="password" name="pass" id="pass" value="" size="15" class="error" />
<p class="errors">(<strong>Note : </strong>Votre password doit être composé au minimum de 5 caractères alphanumeriques)</p>
</p>
 
<p>&nbsp;</p>
 
<label for="confirmation"><font color="#FF0000">*</font>Confirmation password :</label><p>
<input id="confirmation" name="confirmation" size="15" maxlength="15" type="password" class="error" value="" /><p></p>
 
<span id = "mr_controle" class="important">&nbsp;Choisissez une appellation</span><br />
<span id = "nom_controle" class="important">&nbsp;Le champ NOM doit être rempli</span><span id = "nom_verif" class="important">&nbsp;Le champ NOM est invalide</span><br />
<span id = "prenom_controle" class="important">&nbsp;Le champ PRENOM doit être rempli</span><span id = "prenom_verif" class="important">&nbsp;Le champ PRENOM est invalide</span><br />
<span id = "mail_controle" class="important">&nbsp;Le champ MAIL doit être rempli</span><br />
<span id = "numero_controle" class="important">&nbsp;Le champ TELEPHONE doit être rempli</span><span id = "numero_verif" class="important">&nbsp;Le champ TELEPHONE est invalide</span><br />
<span id = "pass_controle" class="important">&nbsp;Le champ PASSWORD doit être rempli</span>
<span id = "pass_verif" class="important">&nbsp;Le champ PASSWORD est invalide</span><br />
<span id = "confirmation_controle" class="important">&nbsp;Le champ CONFIRMATION doit être rempli</span>
<span id = "confirmation_verif" class="important">&nbsp;Les champs PASSWORD ne sont pas identiques !</span>
</div>
<input type="submit"  value="Enregistrement"/>
</fieldset>
<noscript>
    <input type="hidden" name="sansJS" value="1">
</noscript>
</form>


J'aimerai pouvoir ajouter la vérification de l'input type radio et aussi verifier que le password et bien = à la confirmation
je sais faire tout ça séparément mais pareil quand c'est associé
à des span ça ne marche pas
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 18h22   #19
Membre Expert
 
Inscription : septembre 2010
Messages : 1 238
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 238
Points : 1 558
Points : 1 558
Oui mais bon faudrait un peu essayer de comprendre parce que sinon tu ne pourras pas être autonome.

Si tu suis la logique de mon exemple, pour contrôler les boutons radio, et l'égalité des champs il faut rajouter deux fonctions dédiées :

Code :
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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
<script type="text/javascript">
<!--
function Trim (myString)
{//supprime les espaces vides en début et en fin de chaine
	return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
}
 
 
 
function Verif_valide(id_input, regex)
{
	var champ;
	var etat = true;
 
	if (champ = document.getElementById(id_input))
		{
			var id_span = champ.name+'_valide';//id du span = nom du champ concaténé à _valide
			var span;	
 
			// Si le span associé existe on fait le contrôle
			if(span = document.getElementById(id_span))	
				{
					// Test le regex ou si le champ est vide
					if ((regex.test(champ.value)) || Trim (champ.value) == '') 
						{
							span.style.display = 'none';
						}
						else 
						{
							span.style.display = 'inline';
							etat = false;
						}
				}
		}
	return etat; 
}
 
 
 
function Verif_egal(id_input1, id_input2)
{
	var champ1;
	var champ2;
 
	var etat = true;
 
	if (champ1 = document.getElementById(id_input1))
		{
			var id_span = champ1.name+'_egal';//id du span = nom du champ concaténé à _egal
			var span;	
 
			if(champ2 = document.getElementById(id_input2))
				{
					// Si le span associé existe on fait le contrôle
					if(span = document.getElementById(id_span))	
						{
							// Test l'egalité des deux champ
							if (champ1.value == champ2.value  || Trim (champ1.value) == '' || Trim (champ2.value) == '') 
								{
									span.style.display = 'none';
								}
								else 
								{
									span.style.display = 'inline';
									etat = false;
								}
						}
				}
		}
	return etat; 
}
 
 
 
function Verif_checked(bloc)
{
	var bloc_controle;
 
    var etat = true;
 
	 // Sélection du bloc contenant les champs à contrôler
	if(bloc_controle = document.getElementById(bloc))
		{
			//Initialisation d'une variable pour contenir un tableau.
			var tab = new Array();
			var no_check = new Array();	  
 
			// Cherche les balises "input" inlues dans le bloc
			tab = bloc_controle.getElementsByTagName('input');
 
	   	   	var nb_tableau = tab.length;
 
			// Liste les éléments du tableau
			for (i=0; i < nb_tableau; i++)        
				{
					var id_span = tab[i].name+'_check';//id du span = nom du champ concaténé à _vide
 
					// Si le span associé existe on fait le contrôle
					if(span = document.getElementById(id_span))	
					{	
						if(tab[i].checked != true) 
							{
							// Si l'élément n'est pas coché on ajoute un élément au tableau des éléments non cochés
								no_check.push("1");
							}
					}			
				}
 
			// Si les deux tableaux ont le même nombre d'éléments (aucun élément n'a été coché)
			if(no_check.length == tab.length) 
				{
					span.style.display = 'inline';	
					etat = false;
				}
				else
				{
				    // normalement non indispensable (juste pour symétrie avec les autres fonctions) 
					span.style.display = 'none';	
				}						  
		}
 
	return etat; 	
}
 
 
 
function Verif_texte_vide(bloc,type_champ)
{		
 
	var bloc_controle;
 	var etat = true;
 
	 // Sélection du bloc contenant les champs à contrôler
	if(bloc_controle = document.getElementById(bloc))
		{
			//Initialisation d'une variable pour contenir un tableau.
			var tab = new Array();
 
			// Cherche les balises "type_champ" inlues dans le bloc ("formulaire1" ou "form_text" dans l'exemple) 
			tab = bloc_controle.getElementsByTagName(type_champ);
 
	   	   	var nb_tableau = tab.length;
 
			var span;
 
			// Liste les éléments du tableau
			for (i=0; i < nb_tableau; i++)        
				{
					var id_span = tab[i].name+'_vide';//id du span = nom du champ concaténé à _vide
 
					// Si le span associé existe on fait le contrôle
					if(span = document.getElementById(id_span))	
					{	
						if(Trim(tab[i].value) == "") 
							{
								span.style.display = 'inline';
								etat = false;
							}
							else
							{
								span.style.display = 'none';
							}
					}			
				}
 
		}
 
	return etat; 									  
 
}
 
 
 
function Controle_form ()
{
	var etat = true;
 
	// ici tu défini les bloc à contrôler (champs qui ne doivent pas être vides) avec le type de champs associés en les passant en paramètres à la fonction Verif_texte_vide
	if (!Verif_texte_vide('form_input','input')) etat = false;
 
	// ces contrôles spécifiques doivent être placés après la fonction Verif_texte_vide puisqu'ils vérifient la qualité du champ. On passe à la fonction Verif_valide l'id du champ et le regex de contrôle
 
	var regex_tel = /^0[1-9]([_.\-\s]*[0-9]{2}){4}$/;
	if (!Verif_valide('numero',regex_tel)) etat = false;
 
 
	var regex_mail = /^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$/;
	if (!Verif_valide('mail',regex_mail)) etat = false;
 
	// Necessite un id identique au nom du champ
	if (!Verif_egal('confirmation','pass')) etat = false;
 
 
	if (!Verif_checked('radio_check')) etat = false;
 
	return etat;
}
-->
</script>
<style type="text/css">
<!--
#form_input span, #radio_check span {
display:none;
}
-->
</style>
</head>
 
<body>
<div class="form-container">
Remplissez les champs ci-dessous pour réaliser votre estimation. <br />
C'est gratuit et sans engagement !
<form name="formulaire" method="POST" action="verifenregistrement.php" onsubmit="return Controle_form();">
<fieldset>
<div id = "radio_check">
<input name="MR" value="Mr" type="radio" />Mr
<input name="MR" value="Mme" type="radio" />Mme
<span id = "MR_check" class="important">&nbsp;Un bouton doit être choisi</span>
</div>
<div id = "form_input">
<label for="nom"><font color="#FF0000"> *</font>Votre nom :</label><p>
<input id="nom" name="nom" size="50" maxlength="100" type="text" class="error" value="" />
<span id = "nom_vide" class="important">&nbsp;Le champ NOM doit être rempli</span></p>
<p>&nbsp;</p>
<label for="prenom"><font color="#FF0000"> *</font>Votre prénom :</label>
<p>
<input id="prenom" name="prenom" size="50" maxlength="100" type="text" class="error" value="" />
<span id = "prenom_vide" class="important">&nbsp;Le champ PRENOM doit être rempli</span></p>
<p>&nbsp;</p>
 
<label for="mail"><font color="#FF0000"> *</font>Votre adresse mail :</label>
<p>
<input name="mail" id="mail" size="50" maxlength="100" type="text" class="error" value="" />
<span id = "mail_vide" class="important">&nbsp;Le champ MAIL doit être rempli</span><span id = "mail_valide" class="important">&nbsp;Le champ MAIL est invalide</span></p>
<p>&nbsp;</p>
 
<label for="numero"><font color="#FF0000"> *</font>Votre numéro de
téléphone :</label>
<p>
<input name="numero" id="numero" size="15" maxlength="15" type="text" class="error" value="0473266334"/>
<span id = "numero_vide" class="important">&nbsp;Le champ TELEPHONE doit être rempli</span><span id = "numero_valide" class="important">&nbsp;Le champ TELEPHONE est invalide</span></p>
<p>&nbsp;</p>
 
<label for="pass"><font color="#FF0000"> *</font>Password :</label>
<p>
<input type="password" name="pass" id="pass" value="" class="error" />
<span id = "pass_vide" class="important">&nbsp;Le champ PASSWORD doit être rempli</span></p>
 
<p>&nbsp;</p>
<label for="confirmation"><font color="#FF0000"> *</font>Confirmation password :</label>
<p>
<input type="password" name="confirmation" id="confirmation" value="" class="error" />
<span id = "confirmation_vide" class="important">&nbsp;Le champ CONFIRMATION doit être rempli</span><span id = "confirmation_egal" class="important">&nbsp;Le champ CONFIRMATION n'est pas identique au champ PASSWORD</span></p>
</div>
</fieldset>
<input type="submit"  value="Enregistrement"/>
</form>
</div>
</body>
</html>
(J'ai modifié le nom des fonctions pour qu'elles soient plus évocatrices)
ABCIWEB est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 14h55   #20
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Merci beaucoup ABCIWEB tout fonctionne Merci Merci!!
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h47.


 
 
 
 
Partenaires

Hébergement Web