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

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 132
    Points : 89
    Points
    89
    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 régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 132
    Points : 89
    Points
    89
    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, 21h27
  2. Problème avec HTML::Form
    Par Woufeil dans le forum Web
    Réponses: 1
    Dernier message: 05/06/2006, 14h59
  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, 17h07
  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, 13h06
  5. problème avec les forms 6i!
    Par JauB dans le forum Oracle
    Réponses: 2
    Dernier message: 07/11/2005, 09h33

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