2010-08-20 5 views
0

Je l'ai demandé hier, mais je ne pouvais pas répondre car je n'étais pas inscrit, j'ai essayé les suggestions que HoLyVieR, Ryan Kinal et Vagabond ont dit, mais pas d'entre eux semblent fonctionner.Objet attendu erreur dans Internet Explorer

J'ai retiré le tableau car cela semble être le problème suggéré et la solution, mais maintenant le code ne fonctionne pas du tout mais ne montre aucune erreur.

La question originale est ici Object expected error in Internet Explorer

<script language="JavaScript"> 
function toggleLayer(whichLayer) 
{ 
    var elem, vis,eelem, vvis; 

    if(document.getElementById) // this is the way the standards work 
    elem = document.getElementById(whichLayer); 
    else if(document.all) // this is the way old msie versions work 
     elem = document.all[whichLayer]; 
    else if(document.layers) // this is the way nn4 works 
    elem = document.layers[whichLayer]; 
    vis = elem.style; 


for (i=0;i<25;i++) 
{ 
    eelem = document.getElementById('sub'+i); 
    vvis = eelem.style; 
    if(eelem==elem){ 
     vvis.display = "block"; 
    } else { 
     vvis.display = "none"; 
    } 
} 

    if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined) 
    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none'; 
    vis.display = (vis.display==''||vis.display=='block')?'none':'block'; 
} 
</script> 
+0

En quoi cette question est-elle différente de votre question d'origine? –

+1

duplicata possible de [Objet attendu erreur dans Internet Explorer] (http://stackoverflow.com/questions/3512817/object-expected-error-in-internet-explorer) –

+0

Je vous propose mail aux personnes de l'OS (voir 'Contact Nous 'lien ci-dessous) et demander à fusionner vos comptes, y compris leurs numéros. Ajoutez quelque chose comme "Fusionnez-moi avec ..." à votre boîte de description, afin qu'ils puissent voir que c'est vraiment vous. –

Répondre

0

Vous obtiendrez cette erreur si quoi que ce soit de sub0, sub1, ... sub24 n'existe pas. Vos éléments sont peut-être nommés sub1 - sub25, de sorte que document.getelementById('sub0'); ne trouve rien?

Votre première section de code vérifie si document.getElementById existe, et si ce n'est pas le cas, il revient sur document.all ou document.layers. Dans le bloc de code immédiatement après cela, vous supposez que document.getElementById existe. Vous devriez être cohérent dans vos hypothèses, de quelque façon que vous décidiez d'aller.