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 :

Eval qui fonctionne sur Firefox mais pas sur IE :D


Sujet :

JavaScript

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Eval qui fonctionne sur Firefox mais pas sur IE :D
    Coucou tout le monde,
    J'ai un petit problème avec le code suivant qui s'exécute parfaitement sur Firefox, mais pas sur IE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function FormChecking(Form_Name){
        var Obj_Formulaire=document.eval(Form_Name);
    }
    L'erreur sous IE est : "Cet objet ne gère pas cette propriété ou cette méthode".
    A mon avis IE n'aime pas le "document.eval()".
    J'ai essayé tout un tas de trucs similaires, rien ne fonctionne sur IE.. :/

    Si quelqu'un a la solution à mon problème..
    Merci d'avance !

    Coma.

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    bonjour,


    suffit, c'est une fonction interne.

    que contient la variable Form_Name ? Si elle contient le nom (name) d'un formulaire, je ne vois pas l'intéret de eval(Form_Name).

  3. #3
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    La variable Form_Name, comme son nom l'indique, contient le "name" d'un formulaire.
    J'utilise eval() (je sais que c'est une fonction interne, mais je suis bien obligé d'utiliser "document." si je veux pointer sur mon formulaire), sinon il ne trouve pas l'objet car n'interprete pas la valeur de ma variable en tant qu'objet (document.Form_Name ne fonctionne pas) alors qu'en utilisant la fonction eval(), il interprete la valeur de ma variable ce qui donne document.Inscription (si Form_Name="Inscription").
    Mais ceci ne fonctionne pas sur IE.

    Merci d'avance.

    Coma.

  4. #4
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    ne fais pas si compliqué et privilégie l'id au name : au moins c'est compatible IE et Firefox.
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    function FormChecking(Form_Name)
    {
        var Obj_Formulaire=document.getElementById(Form_Name);
    }

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form id="Form_Name">
     
    </form>

    il existe également getElementsByName() mais là je crois que Firefox n'apprécie pas.

  5. #5
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    On est d'accord, sauf que ça ne règle pas complètement mon problème, j'utilise la fonction eval() de la même façon autre part et c'est beaucoup moins propre de le faire sans (obligé de me taper les 5 vérifs en copier coller en changeant juste le numéro) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(var i=2;i<=6;i++){
        if(!Is_Empty(Obj_Formulaire.eval('i_Str_Prenom_'+i).value) && !Is_Email(Obj_Formulaire.eval('i_Str_Email_'+i).value)){
            Str_Erreur="Blablabla.\r\n";
        }
    }
    Merci d'avance.

    Coma.

  6. #6
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Up ! personne n'a de solution ?

    Merci d'avance.

    Coma.

  7. #7
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Comawhite
    Up ! personne n'a de solution ?

    Merci d'avance.

    Coma.
    Si, c'est dans la
    http://javascript.developpez.com/faq...rm.input.acces

    Utilise le vecteur elements, et tu pourra te passer de ton eval tout moche!

  8. #8
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup, ça fonctionne nickel.
    Désolé pour la FAQ, je sais que c'est chiant de le répéter à chaque fois.. :s

    Coma.

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

Discussions similaires

  1. [RegEx] Regex qui fonctionne en local mais pas sur le serveur
    Par lecroquant dans le forum Langage
    Réponses: 3
    Dernier message: 10/01/2012, 16h01
  2. Réponses: 1
    Dernier message: 18/11/2009, 13h28
  3. Une Action fonctionne sous FireFox, mais pas sur IE6/7
    Par 19cmos83 dans le forum Struts 1
    Réponses: 1
    Dernier message: 29/10/2008, 19h45
  4. Réponses: 1
    Dernier message: 15/04/2008, 14h03
  5. [2.0] connexion qui fonctionne chez moi mais pas sur un autre pc
    Par Lorenzeb dans le forum Accès aux données
    Réponses: 1
    Dernier message: 13/09/2006, 17h47

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