"Rune Jensen" <runeofdenmark@hotmail.com> writes:
> "Lasse Reichstein Nielsen" skrev i en meddelelse...
>> <textarea id="printable">This is text to print</textarea>
>> <input type="button" value="Print"
> {SNIP: JS code}
>
> Lidt for meget kode for min smag. Ikke muligt at sende indholdet af textarea
> til en popup via getElementByID innerHTML og så print hele skidtet?
Så skal du først åbne popuppen alligevel, og sørge for at der er HTML
i den (ellers kan man ikke bruge innerHTML på dens dokument). Derefter
vil du så bruge innerHTML (en ikke-standard-feature) til at indsætte
tekst i den, på tværs af vinduer. Hvis den tekst indeholder "<" eller
lignende, så skal det alligevel laves om til "<" osv. hvis man
bruger innerHTML (og ikke innerText, som er dårligere
understøttet). Alt i alt giver det mere kompleksitet og, hvis gjort
ordentligt, mere script-kode.
Mere traditionelet er at åbne vinduet og bruge dokument.write på det.
Det bliver det heller ikke nemmere af. Man skal under alle omstændigheder
lave den HTML-kode der skal vises.
Med mindre du tænker på at have en tom "printside.html" der åbnes i
et vindue, og så indsættes teksten i den via innerHTML, og dens print
kaldes. Det kunne nok spare lidt kompleksitet, men ikke meget. Så
kan man lige så godt lave en rigtig form-submit og lade serveren
bygge print-siden op.
Så ja, det kan det godt, men det bliver det nok ikke meget bedre af.
>>> - er textboxReference stien til det element, som snakkes om, og er
>>> der ikke en måde at "aflæse" den?
>>
>> Ikke forstået.
>
> Jeg tænkte måske på getElementByID. Er ved at læse om det, men er ikke inde
> i det endnu
Det er en måde at få en reference til et element. Der er andre, og i
denne situation måske simplere.
Hvis du har et dokument der indeholder:
<form id="minFormId" action="...">
...
<textarea name="mitTextNavn" id="minTextId">Ladida</textarea>
...
</form>
så kan du lave en reference til textarea'et på flere måder. De to
bedste er:
var tekstboxReference1 = document.getElementById("minTextId");
var tekstboxReference2 = document.forms["minFormId"].elements["mitTextNavn"];
Den sidste er den mest kompatible med forældede browsere. Personligt
synes jeg også den er nemmere at læse - man ved at man har med en
form-kontrol at gøre. Hvis textarea'et ikke er inde i et form-element,
så bliver man naturligvis nødt til at bruge den første.
Herefter kan man så bruge sin reference som man har lyst til:
alert(tekstboxReference1.value);
tekstboxReference2.value = tekstboxReference2.value.replace(/[aiou]/g,"e");
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:
http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'