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

AJAX Discussion :

[AJAX] document.getElementById("email").value undefined pour IE, ok pour firefox


Sujet :

AJAX

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Points : 30
    Points
    30
    Par défaut [AJAX] document.getElementById("email").value undefined pour IE, ok pour firefox
    Bonsoir,

    Je m'arrache les cheveux depuis plusieurs heures sur un pb de compatibilité entre IE et firefox.

    Je cherche à tester si une adresse email est déjà présente dans ma base de données.

    J'utilise pour cela de l'ajax. (Je précise que je débute depuis quelques jours en ajax)

    Voici la fonction pour cette vérification :

    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
     
    .
    ..
    ...
     function verif_email()
     {
    xhr.open("GET","verif_mail.php?email="+document.getElementById("email").value,true);
    xhr.onreadystatechange=function()
            {
                    if(xhr.readyState==4 && xhr.status==200)
                    {
    					alert(xhr.responseText);
    					if(xhr.responseText >= 2) 
    					{
    					// Faire le if
    					}
    					else
    					{
    					// Faire le esle
    					}
                    }
    		}
    		alert("Val envoyée: "+document.getElementById("email").value);
                    xhr.send(null);
     }
    Et l'appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form method="post" action="url.php" name="add_ad">
    <input type="text" name="email" id="email" class="txt" size="30" maxlength="100" onBlur="verif_email()" />
    ...
    ..
    .
    Donc quand j'ai saisie mon adresse email, avec Firefox, la boite alerte m'affiche l'adresse email saisie (Val envoyée: email@email.com).
    Avec IE, la boite alerte m'affiche "Val envoyée: undefined"

    Avez-vous une idée du problème ?

    Merci d'avance !

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    salut,

    Peux envoyer le code de ta page car il n'y a pas de raison que cela ne fonctionne pas ?

    EDIT
    ----
    Et au niveau de ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(xhr.responseText >= 2) ... 
    //ne serait ce pas plutôt
    if(xhr.responseText.length >= 2) ...


    ERE
    Quand une tête pense seule, elle devient folle.

  3. #3
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut Piste
    Il semblerait que IE7 traite les attributs "name" et "id" indifféremment. Donc si tu as une balise quelconque (une meta par exemple) qui dispose d'un attribut name="email", et que IE tombe d'abord sur elle, alors IE va chercher à renvoyer la propriété value de cette balise et comme elle n'existe pas tu obtiens cette erreur.

    Est ce ton cas ?

    ERE
    Quand une tête pense seule, elle devient folle.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Points : 30
    Points
    30
    Par défaut Effectivement
    Merci beaucoup ERE

    Effectivement le problème venait du fait que j'avais une meta name email dans mon head.
    Je n'y avais vraiment pas pensé surtout que cette meta est placée dans un include.

    Donc pour être clair, si d'autres personnes on le même problème, IE ne prend pas en compte la valeur d'un champ nommé 'email' si il y a une meta 'email' dans le head. (au moins pour IE7)

    Encore merci à toi ERE...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/01/2011, 10h35
  2. document.getElementById().value ne retourne rien
    Par fayred dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/08/2007, 14h13
  3. document.getElementById('livre').value retourne undefined!
    Par sara21 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/05/2007, 14h08
  4. Réponses: 2
    Dernier message: 07/01/2007, 12h22
  5. This.value au lieu de document.getElementById('field').value
    Par yoyot dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/03/2005, 14h02

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