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 :

[POO] Bug IE "error : Objet attendu"


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 58
    Par défaut [POO] Bug IE "error : Objet attendu"
    Bonjour, j'ai un bug sous IE que je n'arrive pas à résoudre.

    Dans une classe php j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $c .= '<p><a href="#nogo" onclick="edit_espacem(\'email\')">Editer</a></p>';
    et ma fonction js contient un simple test. J'utilise prototype d'où le $('') au lieu de getElementById.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function edit_espacem(id) {
    	var truc = $('espacem_'+id).innerHTML;
    	alert(truc);
    }
    Sur Firefox cela marche parfaitement il m'affiche le contenu de mon paragraphe, mais sur IE il me met "objet attendu". je pense que çà vient de l'ajout d'antislash pour échapper les guillemets simples mais je ne voit pas comment faire autrement pour mettre dans une variable php une fonction js.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 114
    Par défaut document.getElementById ...
    Pour récupérer le contenu d'un tag HTML (avec innerHTML), il vaut mieux utiliser la fonction suivante (reconnu par le W3C) :

    document.getElementById(id_du_tag).innerHTML

    à essayer ...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 58
    Par défaut
    Bonjour, j'utilise prototype qui est un framework Javascript.

    Il comprend des fonctions de base d'où $('id') qui revient au même à document.getElementById donc mon code est exactement la meme chose que ce que vous me conseillez.

    Et celà ne change en rien mon problème. Mon problème vient du fait que Ie ne comprend pas l'échappement des simples cotes. Mais je n'ai pas d'autre solutions .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $c .= '<p><a href="#nogo" onclick="edit_espacem(\'email\')">Editer</a></p>';
    Ou je ne sais pas, Ie me disant "objet attendu", peut etre doit je lui dire que ma chaine est un string?

  4. #4
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Objet attendu = erreur de synthaxe dans le script qui déclare ta fonction

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 58
    Par défaut
    Dans ce cas, je ne dois pas savoir déclarer ma fonction c'est pas possible. car même sur un simple alert tout bête celà ne marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function edit_espacem(id) {
    	var id = $('espacem_'+id).innerHTML;
    	alert(id);
    }
    Même en mettant :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function edit_espacem() {
    	alert("test");
    }
    Il me dit objet attendu.

    La console javascript de firefox ne m'indique aucune erreur. c'est à n'y rien comprendre..

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 58
    Par défaut
    J'ai trouvé mon problème!!! Il ya avait une virgule qui trainait dans le fichier Js en trop!! Cela ne posait pas de problème à Firefox, mais IE si.

    Pour infos :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function changeTemplateR(numero) {
    	/* option de l'appel ajax */
    	var options = {
    	method: "get",
    	parameters:"nb="+numero ,
    	}	
    	/* ON crée une variable ajaxCall qui va modifier le contenu de l'id "contenu" avec l'url qu'on lui donne */
    	var  ajaxCall = new Ajax.Updater("contenu", "../ajax/index.php?a=templatesright", options);
    }
    la virgule après parameters:"nb="+numero est en trop!! voilà voilà!!

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

Discussions similaires

  1. [POO] dopostback -> objet attendu
    Par mappy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/01/2009, 17h02
  2. [POO] erreur objet attendu sur affichage d'une <DIV>
    Par bilou95 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 03/12/2008, 12h26
  3. [POO] Objet attendu avec IE
    Par locom dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 08/04/2008, 10h26
  4. [POO] Erreur objet attendu - Help
    Par REMACC1 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/09/2006, 11h50
  5. [POO] fonction toUpperCase : Objet attendu
    Par LineLe dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/04/2005, 16h51

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