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 :

script fonctionne pas sous IE


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut script fonctionne pas sous IE
    Bonjour à tous,

    Quelqu'un peut-il me dire pourquoi ce script fonctionne sous Firefox et pas sous IE ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    function calculeRemise(choix,brutActi){
    var remise, resultat;
     
    remise=parseFloat((document.getElementById("newRemise"+choix).value).replace(",","."));
     
    resultat=brutActi-((brutActi*remise)/100);
    resultat=(Math.round(resultat*100))/100;
     
    document.getElementById("tarifNet"+choix).innerHTML ="";
    document.getElementById("tarifNet"+choix).innerHTML +="<br/><strong>Tarif net pour cette activité : </strong>"+resultat+" &euro;"
     
    };
    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut
    Salut,

    Sois plus précis, qu'entend-tu par "ne fonctionne pas" ?
    Quel est le message d'erreur ?
    Que se produit-il au lancement ?
    *.Har(d)t
    ---
    "Je donnerais mon bras droit pour être ambidextre"
    Brian W. Kernighan

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut
    au lancement il ne se passe rien.

    Pas de message d'erreur (d'autant que pas de console d'erreur sous IE)

    et ne fonctionne pas, ben... la Div cible reste vide.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut
    Je suis désolé c'est pas de la mauvaise volonté c'est que vraiment je vois pas comment être plus précis, du fait justement de l'absence d'erreur et de console d'erreur.

    ce que je voulais savoir c'est si quelqu'un voyait une incompatibilité connue de syntaxe avec IE


  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut
    La syntaxe a l'air correcte en tout cas.

    Vérifie peut-être le type et le résultat stocké dans "remise" car la ligne est assez compliquée, peut-être que ça vaut le coup de décomposer.

    Sinon, innerHTML il paraît que c'est très MAAAAAL, alors peut-être qu'un petit appendChild...

    Si tu veux une console sous IE, tu peux tenter Firebug Lite, c'est pas la panacée mais c'est mieux que rien.

    http://getfirebug.com/lite.html
    *.Har(d)t
    ---
    "Je donnerais mon bras droit pour être ambidextre"
    Brian W. Kernighan

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Quel est le code HTML associé ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut
    Merci pour la piste du innerHTML je vais regarder.

    Pour répondre à Bovino :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    <?php
     
    $remis=($this->client->tabRemise[$i]=="") ? 0 : $this->client->tabRemise[$i];
    echo '<strong>Remise pour cette activité : </strong><input name="newRemise'.$i.'" id="newRemise'.$i.'" type="text" onkeyup="calculeRemise('.$i.','.$brutActi.')" value="'.$remis.'" size="3" style="text-align:center"/> %&nbsp;&nbsp;';
     
    ?>

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Quel est le code HTML associé ?

    C'est du HTML ça ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut
    Citation Envoyé par Bovino Voir le message

    C'est du HTML ça ?
    Le HTML est généré par un echo PHP.

    Tu fais un test qui est toujours vrai et retourne toujours 0:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $remis=($this->client->tabRemise[$i]=="")
    est toujours vrai, c'est une affectation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $remis==($this->client->tabRemise[$i]=="")
    est une vraie comparaison...
    *.Har(d)t
    ---
    "Je donnerais mon bras droit pour être ambidextre"
    Brian W. Kernighan

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Le HTML est généré par un echo PHP.
    Oui, c'est pour ça que je parle de voir le HTML, dans la mesure où c'est le seul code sur lequel se base javascript et que le HTML généré permet souvent de détecter facilement d'où provient l'erreur !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    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 *.Har(d)t Voir le message
    Le HTML est généré par un echo PHP.
    Je ne pense pas que Bovino se posait vraiment la question

    Mais sur ce forum, on est censé poster le HTML généré.

    Sinon, bien vu pour la suite

    A+
    Pour tout savoir sur l'utilisation du forum

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

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut
    Désolé, pas de séparation des couches sur cette page

    Il faut que je fasse mon template pour cette page.

    Mais ça génère bien du HTML (non ??)

    Penses-tu que cela changera le comportement de IE ? car ça fonctionne sous Firefox.

  13. #13
    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
    Pas forcément, mais
    Citation Envoyé par Bovino Voir le message
    c'est le seul code sur lequel se base javascript et que le HTML généré permet souvent de détecter facilement d'où provient l'erreur !
    et donc les différences entre les nav ...



    A+
    Pour tout savoir sur l'utilisation du forum

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

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut
    excusez moi le tps que je fasse ma réponse vous m'aviez largement dépassé...

    le code php suivant ne nécéssite pas la == au contraire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $remis=($this->client->tabRemise[$i]=="") ? 0 : $this->client->tabRemise[$i];
    ça veut dire que si la parenthèse est vrai, $remis prend la valeur comprise entre ? et :

    sinon $remis prend la valeur comprise entre : et la fin de l'instruction

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Je ne pense pas que Bovino se posait vraiment la question

    Mais sur ce forum, on est censé poster le HTML généré.

    Sinon, bien vu pour la suite

    A+
    Arf, désolé, j'étais trop dedans... :p

    Citation Envoyé par Alexdezark Voir le message
    Désolé, pas de séparation des couches sur cette page

    Il faut que je fasse mon template pour cette page.

    Mais ça génère bien du HTML (non ??)

    Penses-tu que cela changera le comportement de IE ? car ça fonctionne sous Firefox.
    A mon avis ton problème est purement au résultat de ton test en PHP, car $remise vaut toujours 0 donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resultat=brutActi-((brutActi*0)/100);
    0 / 100 ?

    Au mieux 0, au pire une erreur.
    *.Har(d)t
    ---
    "Je donnerais mon bras droit pour être ambidextre"
    Brian W. Kernighan

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut
    Citation Envoyé par Alexdezark Voir le message
    excusez moi le tps que je fasse ma réponse vous m'aviez largement dépassé...

    le code php suivant ne nécéssite pas la == au contraire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $remis=($this->client->tabRemise[$i]=="") ? 0 : $this->client->tabRemise[$i];
    ça veut dire que si la parenthèse est vrai, $remis prend la valeur comprise entre ? et :

    sinon $remis prend la valeur comprise entre : et la fin de l'instruction
    Pas d'accord : Ca veut dire que si l'affectation du résultat de ta parenthèse dans la variable remise réussit (ce qui est toujours le cas), alors le test est vrai.

    Tu devrais écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if( $this->client->tabRemise[$i]=="" ) {
        $remis = 0;
    }
    else  {
        $remis = $this->client->tabRemise[$i];
    }
    Désolé les modos, la discussion s'oriente vers PHP...
    *.Har(d)t
    ---
    "Je donnerais mon bras droit pour être ambidextre"
    Brian W. Kernighan

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut
    voici un copié collé du code source de la page (dans firefox)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <strong>Remise pour cette activité : </strong><input name="newRemise0" id="newRemise0" type="text" onkeyup="calculeRemise(0,64)" value="5" size="3" style="text-align:center"/> %&nbsp;&nbsp;<input name="changeR" type="button" value="valider remise" onclick="changeRemise('formRemise0')" /><br/>
    </form>
    <div id="tarifNet0" style="margin:0px">&nbsp;</div><br/><script language="javascript">calculeRemise(0,64)</script>

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut
    Ok *.Har(d)t on est bien d'accord sur le sens de l'instruction

    mais pourquoi dis tu que :

    $this->client->tabRemise[$i]==""

    est toujours vrai ?

    je peux te garantir que le tableau $this->client->tabRemise contient bien d'autres chose que ""

  19. #19
    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
    Arf !
    @Hardt : non l'instruction conditionnelle est tout à fait correcte.
    J'avais cru qu'il s'agissait du 2° = qui n'avait pas été doublé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $remis=($this->client->tabRemise[$i]=="") ? 0 : $this->client->tabRemise[$i];
    Mais là, pas de problème ...

    Va falloir chercher ailleurs. Comme déjà dit : id dupliqués (ou mal générés) etc ...

    A+
    Pour tout savoir sur l'utilisation du forum

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

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut
    Voici un post du forum PHP pour la syntaxe :


    1 - c'est l'ecriture ternaire pour le conditions
    (condition) ? si vrai : si faux
    http://fr3.php.net/manual/fr/languag...comparison.php
    http://www.developpez.net/forums/d63...cette-syntaxe/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    <?php
    // Exemple d'utilisation pour l'opérateur ternaire
    $action = (empty($_POST['action'])) ? 'default' : $_POST['action'];
     
    // La ligne ci-dessus est identique à la condition suivante :
    if (empty($_POST['action'])) {
       $action = 'default';
    } else {
       $action = $_POST['action'];
    }
     
    ?>

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/12/2008, 14h18
  2. Script ne fonctionnant pas sous FireFox
    Par durnambule dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/08/2008, 12h31
  3. [Prototype] Script d'autocomplétion ne fonctionne pas sous Mozilla
    Par vixell dans le forum Bibliothèques & Frameworks
    Réponses: 6
    Dernier message: 11/03/2008, 09h20
  4. Script qui ne fonctionne pas sous IE7
    Par carbaba dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/01/2008, 22h50
  5. Script ne fonctionne pas sous IE
    Par Stessy dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 29/09/2005, 13h44

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