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 :

cet objet ne gère pas cette méthode, louche


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut cet objet ne gère pas cette méthode, louche
    bonjour à tous.

    j'ai une fonction qui marche très bien sous FF, mais qui bloque sous IE :

    l'erreur : et objet ne gère pas cette propriété ou cette méthode

    une partie du code de la fonction en question :

    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 check_correction()
    {
    if(document.getElementById('correction').value=="0")
    {
    if(compte)
    {
    clearTimeout(compte);
    }
     
    var a=0;
    var b=0;
    var c=0;
     
    nombre_mots=document.getElementById('nombre_mots').value;
    sachant que la ligne de l'erreur est la ligne var c=0; !!
    si je retire les trois lignes de déclaration de variable, alors la ligne d'erreur est ...vide ! (et pourtant le n° de ligne change !).

    je le teste en local : ie ne marchant pas sur mon ordi (pour afficher les pages sur internet), j'ai été obligé de copier coller ma source (depuis FF), dans un nouveau fichier HTML pour le tester avec ie en local....si quelqu'un à ne meilleure solution

    merci!

    fred

  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
    le numero de ligne t'es retourné par quoi ? par IE
    je suis quasi certain que le numéro de ligne retourné n'est pas bon ...
    ce n'est donc pas ta variable c que est incriminée ....

    Il faudrait nous montrer un peu plus de code ... et aussi un peu de html en rapport
    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 averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut
    oui numéro de ligne retournée par ie.

    Je me doute bien que la ligne n'est pas bonne (j'avais pensé à un nom de variable interdit sinon...) mais je ne sais pas comment récupérer le vrai numéro de ligne ???


    voici tout mon code javascript :

    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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    <script type='text/javascript'>
     
    var compte; 
     
    function corrige_faute(id_mot)
    {
    if(document.getElementById('correction').value=="0")
    {
    mot=document.getElementById('mot'+id_mot);
     
    val=mot.innerHTML;
    len=val.length;
    len++;
    txt="<input type='text' id='corr"+id_mot+"' size='"+len+"' value=\""+val+"\" onBlur=\"enregistre_faute('"+id_mot+"');\">";
    mot.innerHTML=txt;
    document.getElementById("corr"+id_mot).focus();
     
    }
     
    }
     
    function enregistre_faute(id_mot)
    {
    mot=document.getElementById('mot'+id_mot);
    corr=document.getElementById('corr'+id_mot).value;
    mot.innerHTML=corr;
    }
     
     
     
    function check_correction()
    {
    if(document.getElementById('correction').value=="0")
    {
    if(compte)
    {
    clearTimeout(compte);
    }
     
    var a=0;
    var b=0;
    var c=0;
     
    nombre_mots=document.getElementById('nombre_mots').value;
    for(i=1;i<nombre_mots;i++)
    {
    mot=document.getElementById('mot'+i).innerHTML;
    corr=document.getElementById('correction_mot'+i).innerHTML;
    aff_faute=document.getElementById('aff_faute'+i).value;
     
    if(mot!=corr && aff_faute=="")
    {
    document.getElementById('mot'+i).innerHTML="<b><font color='#274DA3'>"+corr+"</font> <font color='#990000'>(<s>"+mot+"</s> il n'y avait pas de faute!)</font></b>";
    a++;
    }
    else if(mot==corr && aff_faute=="1")
    {
    faute=document.getElementById('faute'+i).value;
    document.getElementById('mot'+i).innerHTML="<b><font color='#274DA3'>"+corr+"</font> <font color='#990000'>(<s>"+faute+"</s> <font color='#009900'>bien joué!</font>)</font></b>";
    b++;
    }
    else if(mot!=corr && aff_faute=="1")
    {
    document.getElementById('mot'+i).innerHTML="<b><font color='#274DA3'>"+corr+"</font> <font color='#990000'>(<s>"+mot+"</s> faute non corrigée!)</font></b>";
    c++;
    }
    }
    document.getElementById('recommencer').style.display="inline";
    document.getElementById('correction').value="1";
     
    if(a>=2){s1='s';}else{s1='';}
    if(b>=2){s2='s';}else{s2='';}
    if(c>=2){s3='s';}else{s3='';}
     
    txt='<h3>Résultat :</h3>';
    txt=txt+'<font color="#990000">'+a+'</font> mot'+s1+' sans faute corrigé'+s1+'<br>';
    txt=txt+'<font color="#990000">'+c+'</font> faute'+s3+' oubliée'+s3+' / mal corrigée'+s3+' <br>';
    txt=txt+'<font color="#009900">'+b+'</font> mot'+s2+' correctement corrigé'+s2+'<br>';
     
    document.getElementById('resultats_texte').style.display="block";
    document.getElementById('resultats_texte').innerHTML=txt;
     
    ajax_res_textes_fautifs(''+a+'',''+b+'',''+c+'');
     
    }
    }
     
    function ajax_res_textes_fautifs(a,b,c)
    {
    var req; 
        try {  req = new ActiveXObject('Msxml2.XMLHTTP');   }
        catch (e) 
        {
            try {   req = new ActiveXObject('Microsoft.XMLHTTP');   }
            catch (e2) 
            {
              try {  req = new XMLHttpRequest();     }
              catch (e3) {  req = false;   }
            }
         }
     
    	id_texte=document.getElementById('id_texte').value;
     
     
    req.open("get", "ajax/enr_textes_fautifs.php?id_texte="+id_texte+"&a="+a+"&b="+b+"&c="+c, true); 
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    req.send(null);
    }
     
    var secon=0;
    var minu=0;
     
    function chrono(){
    secon++;
    if (secon>59)
    {
    secon=0;
    minu++
    if(minu<=9)
    {
    minu="0"+minu;
    }
    document.getElementById('minutes').innerHTML=minu;
    } 
     
    if(secon<=9)
    {
    secon="0"+secon;
    }
    document.getElementById('secondes').innerHTML=secon;
     
    compte=setTimeout('chrono()',1000);
    }
     
    </script>
    vous pouvez voir la page à cette adresse (l'erreur se produit lorsque l'on clique sur correction..., uniquement avec IE) :

    eguens.com/v2/orthophonie/textes-fautifs/

    Désolé je ne fais pas de lien, je ne veux pas que cette page soit indexée pour le moment

    merci !!

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    tu utilises innerHTML
    et des balises <font>

    Dans ta fonction check_correction() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    nombre_mots=document.getElementById('nombre_mots').value;
    for(i=1;i<nombre_mots;i++)
    value est une chaine de caractères donc forcément incrémenter i avec comme limite un mot, ça plante

    Comme ceci ça devrait passer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nombre_mots= parseInt(document.getElementById('nombre_mots').value);
    Tu n'as pas déclaré la variable i de cette boucle.



    Une question : dans la fonction corrige_faute(id_mot) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    val=mot.innerHTML;
    len=val.length;
    len++;
    txt="<input type='text' id='corr"+id_mot+"' size='"+len+"' value=\""+val+"\" onBlur=\"enregistre_faute('"+id_mot+"');\">";
    mot.innerHTML=txt;
    document.getElementById("corr"+id_mot).focus();
    Tu es sûr que ce bout de code fonctionne sans problème ?



    Et perds l'habitude de déclarer tes variables au milieu des tes fonctions

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Par défaut
    Bonjour,
    merci pour votre réponse.

    J'ai déclaré i, et j'ai modifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nombre_mots= parseInt(document.getElementById('nombre_mots').value);
    mais ça ne marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    val=mot.innerHTML;
    len=val.length;
    len++;
    txt="<input type='text' id='corr"+id_mot+"' size='"+len+"' value=\""+val+"\" onBlur=\"enregistre_faute('"+id_mot+"');\">";
    mot.innerHTML=txt;
    document.getElementById("corr"+id_mot).focus();
    Marche sans problème sous FF et IE.
    Il y a t il une erreur dans cette partie de code ???

    Quel est le problème à utiliser des balises <font> et innerHTML ??

    merci !

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.getElementById('nombre_mots'));
    et dis moi ce que ça retourne.

    Pour innerHTML : un jour ou l'autre, on a toujours des mauvaises surprises avec cet attribut

    Pour <font>, bien c'est... périmé Utilise plutôt des feuilles de styles, tu te compliqueras moins la vie

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

Discussions similaires

  1. [XL-2003] "Cet objet ne gère pas cette propriété ou méthode"
    Par Aubencheulobois dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/08/2010, 16h42
  2. [POO] [IE6] Cet objet ne gère pas cette propriété ou cette méthode
    Par sabotage dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/01/2009, 22h44
  3. Réponses: 8
    Dernier message: 05/06/2008, 15h19
  4. Cet objet ne gère pas cette propriété ou cette méthode
    Par _Michel dans le forum Visual C++
    Réponses: 2
    Dernier message: 08/11/2007, 22h06
  5. [Jscript]Cet objet ne gère pas cette propriété ou cette méthode
    Par 1tox dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 02/06/2006, 09h19

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