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 :

Fonctionne sous Firefox mais pas sous IE.


Sujet :

JavaScript

  1. #1
    Membre actif Avatar de ploxien
    Inscrit en
    Février 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2006
    Messages : 467
    Points : 221
    Points
    221
    Par défaut Fonctionne sous Firefox mais pas sous IE.
    Hello,
    J'ai fait une page qui utilise du javascript. Ce code fonctionne très bien sous Firefox, mais pas sous IE.
    Le but est d'avoir un bouton pour ajouter des champs et un pour les supprimer. Lorsqu'un de ces champs est modifié, le total de tous les champs est affiché...
    Sous firefox, parfait. Sous IE, il ne se passe rien lors de la modification d'un champ (onKeyUp qui appele "addition()"). Le reste fonctionne très bien.
    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
    <script type="text/javascript" src="/addition/js/texte-utils.js"> </script>
    <script language="javascript" type="text/javascript">
       var requete = null;
     
       try {
         requete = new XMLHttpRequest();
       } catch (essaimicrosoft) {
         try {
           requete = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (autremicrosoft) {
           try {
             requete = new ActiveXObject("Microsoft.XMLHTTP");
           } catch (echec) {
             requete = null;
           }
         }
       }
     
       if (requete == null)
         alert("Error creating request object!");    
     
       function addition() {
         var path="/addition/jsp/addition.jsp?nb="+c2.length;
       var i=0;
     
       while(i<c2.length){
        var iS = i.toString();
        var byId = "nb"+iS;
        path = path+"&nb"+iS+"="+document.getElementById(byId).value;
        i++;
       }
       requete.open("GET", path, true);
         requete.onreadystatechange = actualiserPage;
         requete.send(null);
       }
     
       function actualiserPage() {
         if (requete.readyState == 4) {
           if (requete.status == 200) {
             /* Mettre à jour le champ */
             nouveauResult = requete.responseText;
             var result = document.getElementById("result");
             remplacerTexte(result, nouveauResult);
           }
       else{
        alert("Erreur! Le statut de la requête est " + requete.status);
       }
         }
       }
     
     var c,c2, ch;
     
    // ajouter un champ avec son "name" propre;
    function plus(){
    c=document.getElementById('cadre');
    c2=c.getElementsByTagName('input');
    ch=document.createElement('input');
    ch.setAttribute('type','text');
    ch.setAttribute('name','nb'+c2.length);
    ch.setAttribute('id','nb'+c2.length);
    ch.setAttribute('onKeyUp','addition()');
    c.appendChild(ch);
    ch.focus();
     
    document.getElementById('sup').style.display='inline';
    }
     
    // supprimer le dernier champ;
    function moins(){
     if(c2.length>0){
      c.removeChild(c2[c2.length-1]);
     }
     if(c2.length==0){
      document.getElementById('sup').style.display='none';
     }
     addition();
    }
     
    </script>
    <form id="frm" action="">
    <p>
    <input type="button" value="Ajouter un champ pour l'addition" onclick="plus()" />
    <input type="button" style="display:none" id="sup" value="Supprimer le dernier champ" onclick="moins()" />
    </p>
     
    <div id="cadre" style="margin-left:100px;width:200px">
    </div>
     
    Total: <span id="result">0</span>
    </form>
    Une idée??
    Ce code fait partie d'une portlet, mais je pense que c'est pas très important pour la compréhension du problème...
    Merci
    (\ _ /)
    (='.'=)
    (")-(")
    Deux règles du succès:
    1) Ne communiquez jamais à quelqu'un tout votre savoir...

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Enlèves les "var" de ta boucle => multi-déclaration de variables locales => pas glop !!

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Membre actif Avatar de ploxien
    Inscrit en
    Février 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2006
    Messages : 467
    Points : 221
    Points
    221
    Par défaut
    Hello,
    C'est juste, je l'ai fait, mais le problème est toujours là...
    (\ _ /)
    (='.'=)
    (")-(")
    Deux règles du succès:
    1) Ne communiquez jamais à quelqu'un tout votre savoir...

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Tes scripts sont bien dans le <head>, contrairement à ce qu'on voit ici ?
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  5. #5
    Membre actif Avatar de ploxien
    Inscrit en
    Février 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2006
    Messages : 467
    Points : 221
    Points
    221
    Par défaut
    Haaa... non! Mais en fait je sais pas comment faire pour que ce soit le cas, dans une portlet je n'ai pas le droit de mettre de balise head ou body...
    Je vais chercher... Si qqn a une idée...
    (\ _ /)
    (='.'=)
    (")-(")
    Deux règles du succès:
    1) Ne communiquez jamais à quelqu'un tout votre savoir...

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Points : 62
    Points
    62
    Par défaut
    Simplement le onkeyup semble pas marcher sous IE. Esseye le onkeypress (en plus de ton onkeyup)

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Wells
    Simplement le onkeyup semble pas marcher sous IE.


    Si si !

    EDIT : mais plutôt sans les majuscules ...
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/01/2008, 12h11
  2. [MySQL] Lien fonctionne sous Firefox mais pas sous IE
    Par Nicos77 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/01/2008, 10h29
  3. FORM fonctionne sous IE mais pas sous Firefox
    Par baudogu dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/09/2007, 16h50
  4. fonction javascript fonctionnant sous firefox mais pas sous IE
    Par calitom dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/03/2007, 12h56
  5. Fonctionne sous IE6 mais pas sous Firefox - Help
    Par fma2112 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/06/2006, 08h29

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