IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Probl�me avec document.forms


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    132
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 132
    Par d�faut Probl�me avec document.forms
    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 :

    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);
         }
    Cette solution marche tr�s bien avec IE, mais pas avec Firefox... Est-ce que quelqu'un sait d'ou ca vient ?

    Merci...

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    132
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 132
    Par d�faut
    c'�tait 3 fois rien, IE qui est trop permissif, manque des guillemets quelque part ^^

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. probl�me avec document.getElementById
    Par damaskinos dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 05/10/2006, 20h27
  2. Probl�me avec HTML::Form
    Par Woufeil dans le forum Web
    R�ponses: 1
    Dernier message: 05/06/2006, 13h59
  3. [IE] Probl�me avec document.body.setAttribute
    Par stailer dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 02/05/2006, 16h07
  4. Probl�me avec document.write()
    Par d.w.d dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 19/01/2006, 12h06
  5. probl�me avec les forms 6i!
    Par JauB dans le forum Oracle
    R�ponses: 2
    Dernier message: 07/11/2005, 08h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo