Je veux tester si deux champs d'un formulaire sont renseignés avec la fonction validation (). Si les champs sont effectivement remplis je veux vérifier si le champ email est valide. J'ai tenté de réunir deux scripts puisés sur le web.
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
 <script language="javascript" type="text/javascript"> 
  <!--
  function Email1(s)
{
var i=0;
var cpt=0;
var sLength = s.length;
while (i < sLength)
{ 
if (s.charAt(i)=="@") {cpt ;}
i ;
}
if (cpt==1) return false;
else return true;
}
function Email2(s)
{
var sLength = s.length;
if ((s.charAt(sLength-4)==".") || (s.charAt(sLength-3)==".")) return false;
else return true;
}
 
function validation() 
{ 
       	if(document.form1.nom.value == "") 
		{ 
        alert ('Veuillez entrer votre nom !'); 
        document.form1.nom.focus(); 
        return false; 
    	}
 
	if(document.form1.courriel.value == "") 
		{ 
        alert ('Veuillez entrer votre adresse de courriel !'); 
        document.form1.courriel.focus(); 
        return false; 
    	} 
 
    	var v=document.form1.courriel.value;
	if(Email1(v)||Email2(v)) 
	{
	 alert("Merci de vérifier votre adresse de courriel !");
         document.form1.courriel.focus(); 
         return false;
        }
   else 
    {
  return true;
		}
}
-->
</script>
Le problème que j'ai est le suivant : lorsque j'envoie le formulaire avec le champ courriel mal renseigné mon navigateur se met à tourner à vide quelques secondes et alors un message m'informe que le script est lent et me présente le choix entre continuer ou arrêter. Si j'arrête, l'alerte ("Merci de vérifier votre adresse de courriel !") apparaît correctement et le focus est donné au champ courriel comme attendu alors que si je clique continuer rien ne se passe.
Je n'arrive pas à trouver le pourquoi du premier message.
J'attends vos lumières d'experts