Et objekt er obligatorisk - IE

Tags:    javascript

Hey, jeg sidder og roder med noget JavaScript.

Mit script kører uden problemer i Safari og Firefox (Mac OS), men i Internet Explorer kommer der en fejlmeddelelse.

Fejlen lyder: Et objekt er obligatorisk.

Den pågældende funktion ser således ud:

Fold kodeboks ind/udKode 


Håber I kan hjælpe med at finde fejlen?



Indlæg senest redigeret d. 29.03.2010 18:05 af Bruger #15793
Jeg kan ikke huske fejlbeskederne i IE udenad, men jeg tror det er fordi du bruger en null-reference et sted.

Giv et link til en side hvor problemet kan ses i stedet for at poste koden i forummet, så kan jeg sikkert sige hvad der er galt.



Indlæg senest redigeret d. 29.03.2010 20:19 af Bruger #3143
Fejlen findes på denne URL: http://pics.cazaa.dk/?p=61&press=mouse&showcomments=yes

Når man trykker på ADD aller nederst på siden.

Som sagt kører det fint i alle andre browsere end Internet Explorer (men sådan er det jo gerne).

Jeg kunne forestille mig at det er fordi jeg refererer til et id, som bliver genereret vha. innerHTML i en anden function?

Men hvordan fixer man det så det virker?



Indlæg senest redigeret d. 29.03.2010 23:00 af Bruger #15793
style objectet har da ikke KhtmlOpacity, MozOpazity mm..

Brug Jquery hvis du ikke kan skrive crossbrowser kode selv..

ex

function (opa, id)
{
jQuery("#"+id).css("opacity", "opa")
}

eller brug noget ala:
/* fra quircsmode.org*/

function setOpacity(value, obj) {
obj.style.opacity = value/10;
obj.style.filter = 'alpha(opacity=' + value*10 + ')';
}




Indlæg senest redigeret d. 30.03.2010 16:48 af Bruger #5789
JavaScript-fejlen kommer også i Firefox, så måske de ikke er helt relaterede.

Prøv at rette:
var object = document.getElementById(id).style;

Til:
var elem = document.getElementById(id);
if (!elem) alert(id);
var object = elem.style;

For at finde ud af hvilket element der ikke eksisterer.



JavaScript-fejlen kommer også i Firefox, så måske de ikke er helt relaterede.

Prøv at rette:
var object = document.getElementById(id).style;

Til:
var elem = document.getElementById(id);
if (!elem) alert(id);
var object = elem.style;

For at finde ud af hvilket element der ikke eksisterer.


Nå fuck ja, det skal afvikles efter elementet er læst i dom..

window.onload() :)


@Jesper, mht til din første post, så er ie fejlbeskeder "umulige" at få noget ud af :)



Indlæg senest redigeret d. 30.03.2010 17:07 af Bruger #5789
JavaScript-fejlen kommer også i Firefox, så måske de ikke er helt relaterede.

Prøv at rette:
var object = document.getElementById(id).style;

Til:
var elem = document.getElementById(id);
if (!elem) alert(id);
var object = elem.style;

For at finde ud af hvilket element der ikke eksisterer.


Tusind tak for hjælpen! Det hjalp mig og nu kører siden uden fejl.

Problemet var fordi jeg tidligere havde lavet en funktion som fik en div til at fade frem når man bevægede musen. Senere har jeg så fjernet denne div, men glemt at fjerne funktionen fra JavaScriptet.





t