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