Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Javascript "write text" moet "print image&quo

mw22
3 antwoorden
  • 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?
  • 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;
  • 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!

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.