login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Functie aanroepen nadat gehele pagina geladen is (Opgelost)

Offline mcgadget - 11/09/2009 02:06
Avatar van mcgadgetNieuw lid Heren (en dames?),

Ik ben bezig met een Google Maps applicatie. Nu treed er een probleem op.

Als ik een functie aanroep krijg ik in de Firefox Foutconsole een fout dat het object 'null' is. Echter als ik de functie vrijwel helemaal onderaan de html pagina plaats is dit probleem niet van toepassing en werkt het gewoon.

Nu ben ik erachter gekomen dat de functie eerst moet zien dat de pagina geladen is.

Nu is mijn vraag dus hoe ik dit kan oplossen?

Ik heb het script op de volgende locatie staan:
http://maps.dennisonline.nl

Ik plaats de code niet op deze site aangezien het om meerdere bestanden gaat. Mocht dit toch gewenst zijn dan kan ik kijken of ik dit alsnog kan regelen.

Alvast bedankt voor de informatie 

Groet Dennis

6 antwoorden

Gesponsorde links
Offline jaronneke - 11/09/2009 08:13 (laatste wijziging 11/09/2009 08:13)
Avatar van jaronneke MySQL interesse Hoe kunnen wij je probleem oplossen als je niets post.. , waarschijnlijk heb je in een functie bijvoorbeeld dit staan:

functie sitemasters($waarde1,$waarde2,$waarde3)
{

}

en roep je de functie bijvoorbeeld aan door :

sitemasters('form','reactie');

en mis je 1 argument die 'null' is?
Offline ArieMedia - 11/09/2009 10:41
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
ik ben geen javascript expert, maar dat kan toch gewoon met <body onload="">
Offline mcgadget - 11/09/2009 23:09
Avatar van mcgadget Nieuw lid
jaronneke schreef:
Hoe kunnen wij je probleem oplossen als je niets post.. , waarschijnlijk heb je in een functie bijvoorbeeld dit staan:

functie sitemasters($waarde1,$waarde2,$waarde3)
{

}

en roep je de functie bijvoorbeeld aan door :

sitemasters('form','reactie');

en mis je 1 argument die 'null' is?


Nou het probleem is dat dit dus niet het geval is. De functie werkt namelijk wel als ik heb vrijwel vlak voor de </body> tag plaats, oftewel na alle inhoud van de website. Ik zal hieronder de functie tonen, misschien dat dat verheldering geeft:

  1. $('ext').onchange = function() {
  2. geoXml = new GGeoXml("http://maps.google.nl/maps/ms?ie=UTF8&msa=0&output=nl&msid=113878174885492129769.000472eda91edf4e0f3e1");
  3. map.addOverlay(geoXml);
  4. }


@Arie2Zero:
Ik gebruik voor de onload events gewoon in een javascript bestand de volgende code:
  1. window.onload = function() {
  2. code hier...
  3. }


Nu kan het wel via de onload in de body tag, maar dat vind ik lelijk en onprofessioneel 

Groet Dennis
Offline marten - 12/09/2009 09:06
Avatar van marten Beheerder Je kan met eender welk javascript framework controleren op de domready.

vb JQuery
http://www.lear...ment-ready
Offline StyxLabs - 15/09/2009 17:59
Avatar van StyxLabs Nieuw lid Zoals marten net zei, maak gebruik van jQuery.

Include het core bestand in je header en dan kun je zelf vervolgens heel simpel te werk gaan. Voorbeeld:

1. Include jquery.core.js (of wat de naam ook maar is)
2. Extern .js bestand van jezelf:
  1. $(document).ready(function(){
  2. // Je code hier...
  3. });
Offline mcgadget - 26/09/2009 01:39 (laatste wijziging 26/09/2009 01:40)
Avatar van mcgadget Nieuw lid Hoi,

Ik had inderdaad JQuery kunnen gebruiken echter wil ik dit niet. JQuery is een prettige toolkit maar heeft teveel extra's die ik niet gebruik, vandaar mijn eigen manier van schrijven.

Maar goed, ik heb inmiddels een oplossing gevonden voor mijn probleem.

Door mijn functies in de onload aan te roepen werkt het, zie hieronder:
  1. window.onload = function() {
  2. document.getElementById('dropdown').onchange = naamvanfunctie;
  3. }
  4.  
  5. function naamvanfunctie() {
  6. // hier de uit te voeren code..
  7. }


Hierbij moet er wel op gelet worden dat in de onload de functie NIET met de () tekens wordt aangeroepen.

Hopelijk kan een ander hier ook wat mee. In ieder geval bedankt voor de informatie.

Groet Dennis
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s