login  Naam:   Wachtwoord: 
Registreer je!
 Forum

getElemId (Opgelost)

Offline jerone - 17/04/2007 20:38 (laatste wijziging 17/04/2007 20:51)
Avatar van jeroneJS gevorderde waarom werkt dit hieronder niet?;
  1. var getElemId = document.getElementById("wmpobj");
  2.  
  3. function wmplayer_url(url) { // muziek in player te laden
  4. getElemId.URL = url;
  5. wmplayer_playbutton();
  6. }

en werkt dit wel?;
  1. function wmplayer_url(url) { // muziek in player te laden
  2. document.getElementById("wmpobj").URL = url;
  3. wmplayer_playbutton();
  4. }

10 antwoorden

Gesponsorde links
Offline W0etah - 17/04/2007 20:40
Avatar van W0etah PHP beginner
  1. wmplayer_url("wmobj");
  2.  
  3. function wmplayer_url(url) { // muziek in player te laden
  4. document.getElementById(url).URL = url;
  5. wmplayer_playbutton();
  6. }



het moet zo volgens mij
Offline jerone - 17/04/2007 20:44
Avatar van jerone JS gevorderde neeh sorry dat al helemaal niet 

de onderste functie die ik had, die werkte wel, maar ik heb zegmaar overal in me script 'document.getElementById("wmpobj")' staan, maar dat wil ik inkorten.
Offline Voldemort - 17/04/2007 20:45
Avatar van Voldemort PHP ver gevorderde Omdat je geen variablen van buiten een functie in een functie kan gebruiken (in PHP en C++ tenminste niet en in andere talen dus ook niet denk ik, in PHP moet je daarvoor global $variable gebruiken).
Offline CDNC - 17/04/2007 20:47 (laatste wijziging 17/04/2007 20:48)
Avatar van CDNC PHP ver gevorderde In JS gaat dat wel.

maar is het niet .SRC en niet .URL bij img, embed enz is dat tog...
Offline jerone - 17/04/2007 20:49 (laatste wijziging 17/04/2007 20:50)
Avatar van jerone JS gevorderde @ Voldemort; ik weet niet of het niet mag, maar je kan wel variablen buiten een functie zetten.

@ CDNC; die functie werkt wel, das geen probleem, alleen die variable heb ik problemen mee.

ik herrinner me alleen net iets; je mag maar 1 onbekende in een variable zetten !
hoe zou ik het dan het beste kunnen oplossen?
Offline Grayen - 17/04/2007 20:55 (laatste wijziging 17/04/2007 20:58)
Avatar van Grayen PHP ver gevorderde volgens mij moet document.getElementById en document.getElementsByTagName persee worden aangeroepen bij een event. Ik zal ff uitleggen wat ik bedoel.

Werkt wel

  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function test()
  5. {
  6. document.getElementById('tekst').innerHTML = 'werkt';
  7. }
  8. </script>
  9. </head>
  10. <body onload="test();">
  11. <div id="tekst"></div>
  12. </body>
  13. </html>


Beide methode hieronder werken niet

  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. document.getElementById('tekst').innerHTML = 'werkt';
  5. function test()
  6. {
  7. document.getElementById('tekst').innerHTML = 'werkt';
  8. }
  9. test();
  10. </script>
  11. </head>
  12. <body>
  13. <div id="tekst"></div>
  14. </body>
  15. </html>


Edit:

Je kunt wel variablen buiten javascript plaatsen, deze kun je vervolgens overal in je codes gebruiken (globals dus)

http://www.c-po..._scope.htm
Offline jerone - 17/04/2007 21:00
Avatar van jerone JS gevorderde ok, dat zou dus kunnen komen omdat 'document.getElementById("wmpobj")' 2 onbekende bevat.

ik zou dan cker het beste een extra functie moeten aanmaken:
  1. function getObject(id) { // get the object of the "other" field
  2. if(document.getElementById) {
  3. var other = document.getElementById(id);
  4. }
  5. else if(document.all) {
  6. var other = document.all[id];
  7. }
  8. else {
  9. var other = null;
  10. }
  11. return other;
  12. }
Offline Grayen - 17/04/2007 21:06
Avatar van Grayen PHP ver gevorderde nope, die functie kan wel handig zijn, maar het probleem zit hem dat die functie niet gekoppeld is aan een event. Dat scriptje...

  1. function wmplayer_url(url) { // muziek in player te laden
  2. document.getElementById("wmpobj").URL = url;
  3. wmplayer_playbutton();
  4. }


... is zeker bedoelt om te laten uitvoeren bij het starten, dan moet je in je body tag het attribute onload plaatsen met daarin de functie naam die je wilt uitvoeren of als je die functie wilt laten uitvoeren als je ergens op klikt bijvoorbeeld een link dan moet je bij die link het attribute onclick toevoegen.

Veel succes!
Offline citroen - 17/04/2007 21:08
Avatar van citroen Onbekend omdat die variabele geen referentie naar dat object bevat? je kan wel dingen uitlezen uit die variabele. Als je dingen set in die variabele zoals URL zal dit enkel in die variabele zijn en niet in het object. ik denk dat daarmee je vraag opgelost is
Offline jerone - 17/04/2007 21:18
Avatar van jerone JS gevorderde @Grayen; ik had al gezegd dat het scriptje wel werkte, alleen niet met de var erbij.

@citroen; je hebt helemaal gelijk. een getElementById vraagt op dit opzicht natuurlijk helemaal niet naar gegevens. en een variable moet natuurlijk wel gegevens bevatten. bedankt, dit verklaart alles. 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.27s