Ga naar inhoud

Javascript "write text" moet "print image&quo


anoniem

Aanbevolen berichten

Beste mensen, Ik ben hard bezig met het mijzelf eigen maken van Javascript in combinatie met CSS. Nu heb ik het volgende script om variabele teksten in een layer te printen; [code:1:c5f9904961]<script language="JavaScript"> function getStyle( layer ) { if( document.getElementById ) { return document.getElementById( layer ).style } else if( document.all ) { return document.all[layer].style } else { return document[layer] } } function writeText( layer,text ) { if( document.getElementById ) { document.getElementById( layer ).innerHTML = text; } else if( document.all ) { document.all[layer].innerHTML = text; } else { document[layer].document.open(); document[layer].document.write( text ); document[layer].document.close(); } }[/code:1:c5f9904961] Ik wil nu hetzelfde doen om variabele afbeeldingen in een layer te printen (printen is uiteraard op het scherm doen verschijnen..) Ik meende dit met hetzelfde script te kunnen doen door in de verwijzing in mijn HTML code eenvoudigweg; [code:1:c5f9904961]<a href="#" onClick="writeText('afbeelding', 'hier komt de afbeelding')">[/code:1:c5f9904961] te vervangen door bijv.; [code:1:c5f9904961]<a href="#" onClick="writeText('afbeelding', '<img src="thumbs/BAM08.jpg"')">[/code:1:c5f9904961] Die vlieger gaat echter niet op! Wat doe ik nu fout? moet ik in het script gaan sleutelen of is de opdracht in de HTML niet helemaal zuiver?
Link naar reactie
Ik zou zoiets doen ongeveer. [code:1:433fb592dc] <html> <head> <title>Untitled</title> <script type="text/javascript"> function writeText(layer,imageurl){ var x=document.getElementById(layer); x.innerHTML='<img src="'+imageurl+'">'; return false; } </script> </head> <body> <div id="layer"></div> <a href="thumbs/BAM08.jpg" onclick="return writeText('layer', this.href)">Klik voor de afbeelding</a> </body> </html> [/code:1:433fb592dc] document.write is iig niet bruikbaar nadat een document is geladen. Niet nodig om document.all als test te gebruiken. Ik zou ie4 en nn4 gewoon negeren. [code:1:433fb592dc] <a href="#" onClick="writeText('afbeelding', '<img src="thumbs/BAM08.jpg"')"> [/code:1:433fb592dc] Dit is ook fout, omdat je geen < en > -tekens mag gebruiken in attributen van elementen. Deze moet je dan altijd 'escapen' met &lt; en &gt;
Link naar reactie
Bedankt voor de reactie, ik heb het script toegepast en het werkt perfect! Het enige probleem is dat het niet meer te combineren is met de WriteText die ik had. Dus mijn probleem is nog niet opgelost maar eigenlijk gespiegeld :-? Ik heb geprobeerd om het zo aan te passen dat de twee te combineren zijn en dus in een "call" geactiveerd kunnen worden (WriteText returnimage plaatst afbeelding in layer A en writeText plaatst tekst in layer B en wel tegelijkertijd via 1 muisklik op een objectje) Ik blijf sleutelen en lezen in mijn antieke javascript boek maar hulp blijft welkom!
Link naar reactie
[code:1:41f0accffe] <html> <head> <title>Untitled</title> <script type="text/javascript"> function doe(){ var x=document.getElementById('dhtmlding'); x.onclick=function(){ var x=document.getElementById('layer'); x.innerHTML='<img src="'+this.href+'"><br>tekst en zo'; return false; } } window.onload=doe; </script> </head> <body> <div id="layer"></div> <a href="thumbs/BAM08.jpg" id="dhtmlding">Klik voor de afbeelding</a> </body> </html> [/code:1:41f0accffe] Zoiets? Het is helaas niet erg generiek.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...