Bonjour, je suis en train de faire un formulaire d'inscription dynamique, qui vérifie si l'adresse email et le pseudo entrés ne sont pas déja utilisés. Petit problème, tout mon site étant en xhtml strict, sauf l'atribut name du formulaire d'inscription, j'ai essayé de faire sans... Voila ce que donne ma page :
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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Spatial Conquest - Inscription</title> <link rel="stylesheet" href="css/inscription.css" type="text/css" media="screen,projection" /> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" /> </head> <body> <? include ("header.php"); ?> <script type="text/javascript" src = "ajax.js"></script> <div id = "content"> <form id="formulaire" method="post" action="inscription2.php"> <p>Pseudo</p> <p>Adresse E-Mail</p> <p><input type="text" name="pseudo" onkeyup="verifForm(formulaire)" /></p> <p><input type="text" name="mail" onkeyup="verifForm(formulaire)" /></p> <p><input type="submit" id="boutonInscription" name="boutonInscription" value="S'inscrire !" /></p> <div id="pseudobox"></div> <div id="emailbox"></div> </form> </div> <div id="footer"> © 2006-2007 Spatial Conquest </div> </body> </html>
Et mon ajax.js :
Cette solution marche très bien avec IE, mais pas avec Firefox... Est-ce que quelqu'un sait d'ou ca vient ?
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 function writediv(texte) { document.getElementById('pseudobox').innerHTML = texte; } function writedivemail(texte) { document.getElementById('emailbox').innerHTML = texte; } function checkEmail(email) { var proto = "(mailto:)?"; var usr = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")"; var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}"; var regex = "^" + proto + "?" + usr + "\@" + domain + "$"; var rgx = new RegExp(regex); return rgx.exec(email) ? true : false; } function verifForm(formulaire) { frm=document.forms['formulaire']; var pseudo = frm.elements['pseudo'].value; var mail = frm.elements['mail'].value; var verifpseudo = verifPseudo(pseudo); var verifmail = verifEmail(mail); if ((verifpseudo == true) && (verifmail == true)) { document.getElementById('boutonInscription').disabled = false; } else { document.getElementById('boutonInscription').disabled = true; } } function verifPseudo(pseudo) { if(pseudo != '') { if(pseudo.length<2) { writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop court</span>'); return false; } else if(pseudo.length>30) { writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop long</span>'); return false; } else if(texte = file('verifpseudo.php?pseudo='+escape(pseudo))) { if(texte == 1) { writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>'); return false; } else if(texte == 2) { writediv('<span style="color:#1A7917"><b>'+pseudo+' :</b> ce pseudo est libre</span>'); return true; } else writediv(''); } } else { writediv(''); return false; } } function verifEmail(email) { if(email != '') { if (checkEmail(email) == true) { if(texte = file('verifpseudo.php?email='+escape(email))) { if(texte == 1) { writedivemail('<span style="color:#cc0000"><b>'+email+' :</b> cet email est deja pris</span>'); return false; } else if(texte == 2) { writedivemail('<span style="color:#1A7917"><b>'+email+' :</b> cet email est libre</span>'); return true; } else writediv(''); } } else { writedivemail('<span style="color:#cc0000"><b>'+email+' :</b> cet email n\'est pas valide</span>'); return false; } } else { writedivemail(''); return false; } } function file(fichier) { if(window.XMLHttpRequest) // FIREFOX xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else return(false); xhr_object.open("GET", fichier, false); xhr_object.send(null); if(xhr_object.readyState == 4) return(xhr_object.responseText); else return(false); }
Merci...
Partager