login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[js] eigen var binnen innerHTML (Opgelost)

Offline xSc - 21/09/2007 10:57 (laatste wijziging 21/09/2007 13:21)
Avatar van xScOnbekend Ik maak in javascript een divje aan. Met innerHTML voeg ik HTML code toe.

Gaat allemaal goed.

Echter, nu heb ik in de innerHTML ook een <a>-tag staan met een onclick event.
  1. function fOpenImg(sIMG)
  2. {
  3.  
  4. var myVar = ............;
  5. var sNextPhoto = new Image();
  6. sNextPhoto.src = '/images/next.gif';
  7.  
  8. myVar.innerHTML += '<a href="#" onclick="javascript:fOpenImg(sNextPhoto.src);">Next</a>';
  9.  
  10. ... etc.
  11.  
  12. }

Even heel simpel voorgesteld. Je begrijpt de bedoeling: in de onclick wordt dezelfde functie aangeroepen met als parameter de zojuist gevulde var.

sNextPhoto is not defined.

Ik vermoed omdat hij binnen een string staat dat het fout gaat. Ik heb eval() geprobeerd, met plusjes:

'+sNextPhoto.src+', maar dat levert letterlijk sNextPhoto.src op.

Een alert buiten de innerHTML levert gewoon de juiste waarde op.

Citaat:
Code tags Henri

4 antwoorden

Gesponsorde links
Offline Dark_Paul - 21/09/2007 11:06 (laatste wijziging 21/09/2007 11:07)
Avatar van Dark_Paul PHP ver gevorderde Nee, dat is niet het probleem.
Je moet 'm zonder '.src' doen volgens mij.
Die .src moet je gebruiken als je een afbeelding wilt wijzigen. Bijvoorbeeld:
  1. function AnderPlaatje(imgID, url) {
  2. document.getElementById(imgID).src = url;
  3. }
  4.  
  5. <img src="plaatje1.gif" id="plaatje" /><br />
  6. <a href="#" onclick="javascript: AnderPlaatje('plaatje', 'plaatje2.gif');">Verander het plaatje!</a>

Jij wil nu gewoon het pad naar dat plaatje invoegen, als ik het goed begrijp.
Dus gewoon:
  1. function fOpenImg(sIMG)
  2. {
  3.  
  4. var myVar = ............;
  5. var sNextPhoto = new Image();
  6. sNextPhoto = '/images/next.gif';
  7.  
  8. myVar.innerHTML += '<a href="#" onclick="javascript:fOpenImg('+sNextPhoto+');">Next</a>';
  9.  
  10. }


Ps. de volgende keer Code-tags gebruiken 

Edit: inderdaad wel even de variabele escapen.
Offline xSc - 21/09/2007 11:08
Avatar van xSc Onbekend Paul, bedankt 

Ik krijg constant de melding sNextPhoto not defined, ook al laat ik .src weg. Zowel in IE als FF.
Offline Stijn - 21/09/2007 12:26
Avatar van Stijn PHP expert sNextPhoto.src moet het zijn. En als je de foto wilt tonen op je scherm moet je volgende doen boven die myVar;

  1. document.images['myImageHolder'].src = sIMG.src;


Volledige functie:

  1. function fOpenImg(sIMG)
  2. {
  3.  
  4. //display sIMG
  5. document.images['myImageHolder'].src = sIMG.src;
  6.  
  7. var myVar = ............;
  8. var sNextPhoto = new Image();
  9. sNextPhot.srco = '/images/next.gif';
  10.  
  11. myVar.innerHTML += '<a href="#" onclick="javascript:fOpenImg('+sNextPhoto+');">Next</a>';
  12.  
  13. }
Offline xSc - 21/09/2007 12:48
Avatar van xSc Onbekend Heb het al simpel opgelost: heb een aparte var aangemaakt, met daarin de string opgedeeld:

  1. ....
  2. ...
  3.  
  4. var sCode = '<a href ......';
  5. sCode += sNextPhoto.src;
  6. sCode ......</a>';
  7.  
  8. myVar.innerHTML += sCode;


gaat wel goed 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.189s