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 :

getElementById marche pour ff mais pas pour IE7


Sujet :

JavaScript

  1. #1
    Membre émérite

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Par défaut getElementById marche pour ff mais pas pour IE7
    Bonjour à tous,

    j'ai un petit soucis avec le document.getElementById.

    Voici mon bout de code

    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
    function checkPicOK(partID)
    {
        alert("checkPicOK");
        alert(document.getElementById("pic_main"+partID).value);
        var pic_main = document.getElementById("pic_main"+partID).value;
    	var checkdigits = document.getElementById("checkdigits"+partID).value;
        var ori_pic_main = document.getElementById("ori_pic_main"+partID).value;
        var ori_checkdigits = document.getElementById("ori_checkdigits"+partID).value;
     
        var pic = pic_main + checkdigits;
        var ori_pic = ori_pic_main + ori_checkdigits;
        //alert("PIC: "+pic +" ORI_PIC: "+ori_pic);
        var checkPICOK = true;
        if(pic != ori_pic && document.getElementById("clearPIC" + partID).value != "1")
        {
            //alert("Pic different from ori pic");
            if(document.getElementById("getPicOK"+partID).value == "no" || document.getElementById("getPicOK"+partID).value == "")
            {
                if(confirm("A Pic number has been provided but the 'Get Pic Info' Button has not been clicked.\n"+
                    "Click 'OK' to update and ignore the PIC number - no PIC information shall be retrieved.\n"+
                    "Click 'Cancel' to return to Proposal Setup - no update shall take place."))
                {
                    document.getElementById("pic_main"+partID).value = ori_pic_main;
                    document.getElementById("checkdigits"+partID).value = ori_checkdigits;
                }
                else checkPICOK = false;
            }
        }    
        return checkPICOK;    
    }
    Si par malheur la valeur de partID == "" c'est à dire si elle est vide, mon code marche toujours sous ff mais pas sous IE7.

    Je ne comprends pas pourquoi.

    Mais bon je ne m'étonne plus de rien avec les différents browser

    J'avais pensé tout bêtement faire un check sur partID et dupliquer le code dans le if et else en retirant le "+partID" dans chaque getElementById. Mais je ne trouve pas ça très propre.

    Si vous avez une solution elle est la bienvenue.


    D'avance merci pour vos réponses.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function checkPicOK(partID){
    if (partID==""){return false; }
     ....
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre chevronné Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Par défaut
    Provient d'où ce partID ?

    tu peux essayé ca et nous dire la réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    alert(partID === "");
    alert(partID === null);
    alert(typeof partID);
    PS : le === est voulu

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    le problème ne vient pas de == ""


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <input id='id_' value='1' type='text' />
    <input id='id_1' value='2' type='text' />
    <input id='id_2' value='3' type='text' />
    <input id='id_3' value='4' type='text' />
    <input id='id_4' value='5' type='text' />
     
    <script type='text/javascript'>
    var sufixe='';
    alert(document.getElementById('id_'+sufixe).value)
    var sufixe=1;
    alert(document.getElementById('id_'+sufixe).value)
    </script>
    sufixe="" et j'ai bien le bon alert ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre émérite

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function checkPicOK(partID){
    if (partID==""){return false; }
     ....
    Salut Spafy,

    même si le partID == "" je dois exécuter le code de ma fonction.

    Merci pour ton aide

  6. #6
    Membre chevronné Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    le problème ne vient pas de == ""
    Justement je voulais savoir si par hasard partID ne valait pas "undefined".

    Car pour js null == "" == undefined par contre null === "" est faux

  7. #7
    Membre émérite

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Par défaut
    Citation Envoyé par Bezout Voir le message
    Provient d'où ce partID ?

    tu peux essayé ca et nous dire la réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    alert(partID === "");
    alert(partID === null);
    alert(typeof partID);
    PS : le === est voulu
    Le partID vient d'une autre fonction

    Voici le code

    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
    function validateAddParticipant()
    {
        if (!checkIfEmpty("orgName","please fill Organisation Short Name")) return false;
        if (!checkIfEmpty("orgEmail","please fill Participant Email")) return false;
        if (!checkFieldValue("orgName", "Organisation Short Name")) return false;
        if (!checkEmail("orgEmail")) return false;
        if (!testAllAnswers())  return false;
        if(! checkPartnerAgainstRefereeEmails("orgEmail"))  return false;
        if(document.getElementById("getPicOK") != null)
        {                                                      
            if (!checkPicOK("")) return false;
        }
     
        disableButtons();
        return true;
     
    }

    En fait le code html contient plusieurs formulaires.

    Un formulaire pour ajouter un participant
    Des formulaires qui contiennent déjà les données des autres participants mais qui peuvent être modifiées.

    Les différents fields des formulaires ont des ID en fonction du numéro de participant.

    Participant 1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="text" id="nom1" value="tonNom"/>
    <input type="text" id="prenom1" value="tonPrenom"/>
    Participant 2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="text" id="nom2" value="tonNom"/>
    <input type="text" id="prenom2" value="tonPrenom"/>
    ainsi de suite

    Mais pour le formulaire d'ajout de participant voici comment sont les fields

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="text" id="nom" value="tonNom"/>
    <input type="text" id="prenom" value="tonPrenom"/>
    Le code javascript est le même pour tous les participants, c'est pour cela que je spécifie le partID lorsque je fais appel à ces différentes fonctions.

    Merci beaucoup pour ton aide

  8. #8
    Membre émérite

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Par défaut
    Laissez tomber c'est résolu.

    Grosse M...de de IE.

    J'utilise le getElementbyId mais malheureusement avec cette grosse salop.....e de IE, si tu as le malheur d'avoir un tag dont le nom est le même qu'un id dans un autre tag mais placé avant, eh bien il utilise le name au lieu de l'id.

    Va-t-en comprendre la politique de crosoft en matière de développement

    Ca ne m'étonne plus que rien ne fonctionne avec eux.

    Enfin merci pour votre aide.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/03/2013, 08h52
  2. Transformation qui marche pour une page mais pas pour l'autre
    Par pestakeur dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 06/11/2012, 16h34
  3. TV disponible free mais pas pour neuf ?
    Par kiki1844 dans le forum Dépannage et Assistance
    Réponses: 3
    Dernier message: 16/01/2008, 11h28
  4. Réponses: 9
    Dernier message: 13/07/2007, 11h03
  5. Question SQL (facile) mais pas pour moi
    Par fabianrs dans le forum Langage SQL
    Réponses: 15
    Dernier message: 30/03/2006, 03h44

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