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 :

[DOM] [IE] substring/substr ne marche pas


Sujet :

JavaScript

  1. #1
    Invité
    Invité(e)
    Par défaut [DOM] [IE] substring/substr ne marche pas
    Bonjour,

    IE ne veut pas de la méthode substr (pareil pour substring) :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var description_onmouseover = divEvenement.getAttribute('onmouseover') ;
    var description = description_onmouseover.substring(5,description_onmouseover.length-2);

    IE me met comme erreur :

    Message: Object doesn't support this property or method

  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
    var description_onmouseover = divEvenement.onmouseover ;
    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
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var description_onmouseover = divEvenement.onmouseover ;
    non
    ca ne marche pas sous firefox j'avais d'ailleurs commencer par ca...

    message d'erreur associé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Erreur*: description_onmouseover.substring is not a function

  4. #4
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Euh, étant donné que onmouseover est censé être un callback pour l'évenement susnommé (donc une fonction), ca me parait relativement normal que substring sur une fonction plante sauvagement ...

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    Euh, étant donné que onmouseover est censé être un callback pour l'évenement susnommé (donc une fonction), ca me parait relativement normal que substring sur une fonction plante sauvagement ...
    oui c'est pour ca que je le recuperai en tant qu'attribut html et non en tant qu'evenement...

  6. #6
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Sauf que l'interpréteur ne fait pas la différence. Les callbacks sont attachés aux objets DOM comme des attributs, donc si tu fait un getAttribute sur onmouseover, il va te renvoyer l'attribut correspondant, peu importe que ce soit une chaine de texte ou une fonction.

    Essaie de donner un autre nom a ton attribut pour voir?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    Sauf que l'interpréteur ne fait pas la différence. Les callbacks sont attachés aux objets DOM comme des attributs, donc si tu fait un getAttribute sur onmouseover, il va te renvoyer l'attribut correspondant, peu importe que ce soit une chaine de texte ou une fonction.

    Essaie de donner un autre nom a ton attribut pour voir?
    quel intêret ? si je fais ca, ca ne marchera plus...

  8. #8
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Je comprend pas pourquoi tu veux récupérer onmouseover spécialement ? T'as mis quoi et comment dedans?

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    Je comprend pas pourquoi tu veux récupérer onmouseover spécialement ? T'as mis quoi et comment dedans?
    dans le onmouseover y'a un appel à une fonction pour afficher un tool tip, et je veux récupere le parametre que je passe à cette fonction lorsque je fais une copie de la div

  10. #10
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Tu peux mettre le code exactement de tes appels, même s'ils ne marchent pas, parce que j'ai du mal a me représenter ce que tu veux faire

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    Tu peux mettre le code exactement de tes appels, même s'ils ne marchent pas, parce que j'ai du mal a me représenter ce que tu veux faire
    tu veux quel appel exactement ?

    dans ma div j'ai <div [...] onmouseover="Tip('blablabla')" ></div>
    et c'est donc blablabla que je veux récupérer

  12. #12
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Et le code que tu as mis au départ, il est appelé d'ou? Si c'est depuis l'intérieur de la fonction Tip, bah t'as juste a accéder au nom du paramètre, si c'est d'ailleurs, c'est pas possible...

  13. #13
    Expert éminent

    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
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    si c'est d'ailleurs, c'est pas possible...
    Dans ce cas, le 'blablabla' peut être stocké dans un input 'hidden' dans le div concerné.
    C'est cet input qui pourra être utilisé, à la fois par la fonction Tip() et par les autres qui en aurait besoin ...

    A+

  14. #14
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    On est bien d'accord, mais a ce compte la, autant donner directement la valeur la ou t'en as besoin, puisque le paramètre semble être statique...

  15. #15
    Expert éminent

    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
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    puisque le paramètre semble être statique...
    Il peut aussi être généré en dynamique par le serveur ...
    Pas pratique en cas de JS externalisé(s), par exemple ...

    Sinon, c'est aussi possible de passer par un Array() JS, pour éviter de charger le HTML (indice en param, dans ce cas)

    A+

  16. #16
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Il peut aussi être généré en dynamique par le serveur ...
    Pas pratique en cas de JS externalisé(s), par exemple ...
    A+
    Voilà exactement, la div est générée via Javascript dont la fonction est appelée par rapport à la BDD...


    ca marche sous firefox donc pourquoi ca marcherai pas sous IE -_-" (ras le bol de ce IE de ****)

  17. #17
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    ca marche sous firefox donc pourquoi ca marcherai pas sous IE -_-" (ras le bol de ce IE de ****)
    A mon avis, c'est pas IE qui est en cause la, c'est toi qui utilise mal les fonctions de l'api...

    Si ta div est générée coté serveur, crée un bloc de script et met ta variable dedans.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div>
    ...
    </div
    <script>
    var myVar = "blablabla"
    </script>
    Et comme ca tu y accèdes directement en appelant myVar.

  18. #18
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    A mon avis, c'est pas IE qui est en cause la, c'est toi qui utilise mal les fonctions de l'api...

    Si ta div est générée coté serveur, crée un bloc de script et met ta variable dedans.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div>
    ...
    </div
    <script>
    var myVar = "blablabla"
    </script>
    Et comme ca tu y accèdes directement en appelant myVar.

    j'utilise mal... euh je fai jsute un substring sur un attribut qui est censé etre un string...


    je n'aipas qu'une seule div, j'en ai plusieurs de meme type, qui font chacune appel à la fonction Tip, mais pour chacune avec un paramètre different

Discussions similaires

  1. Jquery Substring ne se fait pas
    Par silverfab34 dans le forum jQuery
    Réponses: 3
    Dernier message: 18/08/2010, 10h26
  2. sqlldr + substr marche pas.
    Par Vince7-7 dans le forum SQL*Loader
    Réponses: 1
    Dernier message: 22/04/2009, 11h57
  3. [DOM] offsetTop sous IE7 marche ou marche pas ?
    Par yamatoshi dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 09/04/2009, 16h58
  4. [DOM] DOM XML, ne marche pas sous Firefox
    Par Nass2 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 21/06/2008, 10h28
  5. Sysdate qui marche pas ??
    Par StouffR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/08/2002, 13h23

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