Bonsoir,

J'ai un code qui consiste à saisir un pseudo et un email, une fois celui-ci valide je clique sur le bouton validé et ce bouton doit mettre en fond rouge la valeur fausse
remarque : pour avoir une valeur fausse il suffit de saisir un pseudo avec des caractère :"('-"-'&é'"('""
(or ceci ne fonctionne que au code pas de façon permanente).
Je ne vois pas d'ou peux venir mon erreur.

Voici mon code :

code javascript

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
function est_alphanumerique(chaine) {
	//cette fonction verifie si le caractere est alphanumerique des lettres majuscules et miniscules et des nombres
    var i;
    for (i = 0; i < chaine.length; i = i + 1) {
        if (chaine.charCodeAt(i) < 48 || (chaine.charCodeAt(i)>=58 && chaine.charCodeAt(i)<=64)||(chaine.charCodeAt(i)>=91 && chaine.charCodeAt(i)<=96)||chaine.charCodeAt(i)>=123) {
            return 0;
        }
    }
    return 1;
}
function est_correcte_mail(mail) {
	//cette fonction verifie le mail avec présence d'un seul @ et d'un seul point avec au moins 2 caractères avant et après le point
	var i;
	var point=0;
	var arob=0;
	var nb=0;
	var nb1=0;
    for (i = 0; i < mail.length; i = i + 1) {
		if (mail.charCodeAt(i) == 64) {
			nb=nb+1;
			arob=i;
		}
		if (mail.charCodeAt(i) == 46) {
			nb1=nb1+1;
			point=i;
		}
	}
	if (nb > 1 || nb1 > 1) {
		return 0;
	} else {
		if (point-arob>=3 && mail.length-1-point>=2) {
			return 1;	
		} else {
			return 0;
		}
	}
 
}
function desactiver_validation() {
}
function verification_formulaire() {
    "use strict";
    var pseudo = document.getElementById("pseudo").value;
    var mail = document.getElementById("mail").value;
    var i = 0;
	var erreur=0
    if (8 <= pseudo.length && pseudo.length <= 25) {
        if (est_alphanumerique(pseudo)) {
			if (mail.length <= 25) {
				if(est_correcte_mail(mail)) {
					alert("Compte enregistré");
					//c'est à cette ligne ci-dessus que le code ne fonctionne pas
					document.getElementById("bouton").setAttribute("disabled", "true");
				} 
				else 
				{
					erreur=2;
				}
			} 
			else 
			{
				erreur=2;
			}
        }
		else 
		{
 
			erreur=1;
		}
	}
	else 
	{
		erreur=1;
	}
	if (erreur==1) {
		document.getElementById("pseudo").style.backgroundColor = "red";
	}
	if (erreur==2) {
		document.getElementById("mail").style.backgroundColor = "red";
	}
 
}
Code HTML : 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
<!DOCTYPE html>
<html lang="fr">
   <head>
 
      <link rel="stylesheet" href="style.css" />   
      <title>TP7_exo1</title>
      <script src="scripts.js"></script>
   </head>
   <body>
 
		<form>
			<p>
			   <label for="pseudo">Votre pseudo :</label>
			   <input maxlength="30" type="text" name="pseudo" id="pseudo" />
			   <br/>
			   <label for="mail">Votre adresse mail :</label>
			   <input maxlength="30" type="mail" name="mail" id="mail" />
			   <input id="bouton" type="submit" onClick="verification_formulaire()" value="Valider" />
			</p>
		</form>
   </body>
</html>

Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
body 
{
	background-color:gray;
}

Voici les liens pour tester le code:
https://154160.playcode.io/?pseudo=&mail=
https://playcode.io/154167?tabs=cons...ex.html&output