Welkom, Gast. Je bent niet ingelogd.

JS Ajax probleem

Akaryan
Geplaatst op: 14 Jan 2008, 19:54
PimpCoins: 0
💸+
Bewerken Quote

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
prepareFrontpage.prototype.getDiv=function(url)
{
    this.slideDown1(); // Slide de loading box down
    xmlHttp=GetXmlHttpObject(); // eigen functie voor object
    if (xmlHttp==null)
        return false; // doet i het niet :(
    xmlHttp.onreadystatechange=this.onReadyStateChange; // stel functie in
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null); // handel af
}

prepareFrontpage.prototype.onReadyStateChange=function()
{
    //! this.divObj is hier opeens niet te gebruiken!
    if (xmlHttp.readyState==4)
    {
        this.divObj.innerHTML = xmlHttp.responseText;
        xmlHttp.link.slideDown2(); // Slide de content verder down
    }
}

1
2
3
4
5
6
7
8
9
var collapse1=new prepareFrontpage("div1", 1000);
function prepareFrontpage(divId, animateTime)
{
    this.divId=divId;
    this.divObj=document.getElementById(divId);
    this.divObj.style.overflow="hidden";
    this.divObj.style.height=0;
    this.divObj.style.visibility="visible";
}

In de onReadyStateChange functie is opeens het 'this.divObj' object niet meer aan te roepen.
Doe ik iets fout of kan het gewoon niet?
Als het niet duidelijk is zeg het maar
.

[Laatst bewerkt door Akaryan op maandag 14 januari 2008, om 19:56]
Jaapje
Geplaatst op: 14 Jan 2008, 20:28
PimpCoins: 0
💸+
Bewerken Quote

Santi schreef:

ik denk dat je gewoon niet bij ajax past, Colin is zoiezo al veel beter..

3 dagen lid en al 84 83 posts. Niet zo gek als je zoveel onnodige kutberichten als deze plaatst.

@ het probleem:
Je hebt de 'this.divObj' nergens aangemaakt? Dit doe je wel met de 'this.divId'. Als dit er niets mee te maken heeft moet je mij niet kwalijk nemen, want je geeft een beetje weinig info. Gebruik je prototype? Wat kun je met het script doen? Wat heeft de 2e code met je fout te maken?

snapje?

[Laatst bewerkt door Jaapje op maandag 14 januari 2008, om 20:29]
Akaryan
Geplaatst op: 14 Jan 2008, 20:38
PimpCoins: 0
💸+
Bewerken Quote

Het gehele script zou dit moetten doen:
1: vakje uitschuiven
2: loading staat in vakje
3: ajax request doen
4: content vakue updaten
5: vakje juist uitrekken

ik maak this.divObj wel aan
this.divId=divId;
this.divObj=document.getElementById(divId);

ik gebruik geen prototype; maar zoder dat prototype werkt het op een of andere manier niet.

Jaapje
Geplaatst op: 14 Jan 2008, 20:43
PimpCoins: 0
💸+
Bewerken Quote

Komt dit script uit prototype? Want dan kan het zijn dat je wat vergeet in je code te zetten. En krijg je een error?

Akaryan
Geplaatst op: 14 Jan 2008, 20:46
PimpCoins: 0
💸+
Bewerken Quote

http://www.dynamicdrive.com/dynamicindex17/animatedcollapse.htm
Hier een aangepaste versie van gebruik ik.
Waarschijnlijk heeft die wel dingen uit prototype gebruikt

Fout:
JavaScript - http://ryan/crustypizza/
Unknown thread
Error:
name: TypeError
message: Statement on line 293: Could not convert undefined or null to object
Backtrace:
Line 293 of linked script http://ryan/crustypizza/scripts/script.js
this.divobj.innerHTML = xmlHttp.responseText;
At unknown location
[statement source code not available]

[Laatst bewerkt door Akaryan op maandag 14 januari 2008, om 20:51]
Died
Geplaatst op: 14 Jan 2008, 21:44
PimpCoins: 0
💸+
Bewerken Quote

Kijk eens in je foutconsole ?

Akaryan
Geplaatst op: 14 Jan 2008, 21:51
PimpCoins: 0
💸+
Bewerken Quote

Spunk schreef:

Kijk eens in je foutconsole ?

Zie vorige bericht; daar staat het fijntjes in gemeld.

📫

Nieuw privébericht

🔥

Registreren


Login