/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
udprintning alene af indhold af DIV eller ~
Fra : Rune Jensen


Dato : 07-10-07 15:03

Har ikke lyst til at lave et specielt print.css til en bestem,t side, hvor
det eneste, som skal printes er indholdet af en text-box.

Kan dette gøres med JavaScript? (Og hvordan?)

Tillægsspørgsmål:
Hvordan er det nu det JS-script ser ud, som makerer al tekst i en tekstboks?
Skal være cross-browser venligt, om muligt.


MVH
Rune Jensen



 
 
Lasse Reichstein Nie~ (07-10-2007)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 07-10-07 17:08

"Rune Jensen" <runeofdenmark@hotmail.com> writes:

> Har ikke lyst til at lave et specielt print.css til en bestem,t side, hvor
> det eneste, som skal printes er indholdet af en text-box.

Hvorfor ikke? Det er den simpleste måde at håndtere print på.

> Kan dette gøres med JavaScript? (Og hvordan?)

Det vil kræve at man ændre sidens opbygning. Derfor er CSS så meget
nemmere.
Hmm, jeg ville nok snarere oprette en skjult iframe og indsætte teksten
deri, og så lade den printe.

> Tillægsspørgsmål:
> Hvordan er det nu det JS-script ser ud, som makerer al tekst i en tekstboks?
> Skal være cross-browser venligt, om muligt.

tekstboxReference.select()

altså fx:

document.forms['formId'].elements['tekstboksName'].select();

/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.'

Rune Jensen (07-10-2007)
Kommentar
Fra : Rune Jensen


Dato : 07-10-07 21:07

"Lasse Reichstein Nielsen" skrev...

> "Rune Jensen" writes:
>
>> Har ikke lyst til at lave et specielt print.css til en bestem,t side,
>> hvor
>> det eneste, som skal printes er indholdet af en text-box.
>
> Hvorfor ikke? Det er den simpleste måde at håndtere print på.

I stedet for at slå alt fra i et helt stylesheet, som så (foreløbig) kun
skal bruges på én side- virkede lidt som overkill, hvis der var en nemmere
løsning


>> Kan dette gøres med JavaScript? (Og hvordan?)
>
> Hmm, jeg ville nok snarere oprette en skjult iframe og indsætte teksten
> deri, og så lade den printe.

OK, men kan man ikke lade teksten "poppe op" i et nyt vindue og så bare
udskrive det dokument?


>> Hvordan er det nu det JS-script ser ud, som makerer al tekst i en
>> tekstboks?
>
> tekstboxReference.select()
>
> altså fx:
>
> document.forms['formId'].elements['tekstboksName'].select();

Tak mange gange for det. Jeg tror, jeg kløjedes lidt i det. Jeg skrev
textbox i stedet for textarea. Kan man tilgå textarea på samme måde - er
textboxReference stien til det element, som snakkes om, og er der ikke en
måde at "aflæse" den?

Du kan nok høre, jeg er ikke øvet


MVH
Rune Jensen



Allan Vebel (07-10-2007)
Kommentar
Fra : Allan Vebel


Dato : 07-10-07 22:01

Rune Jensen skrev:

> I stedet for at slå alt fra i et helt stylesheet, som
> så (foreløbig) kun skal bruges på én side- virkede
> lidt som overkill, hvis der var en nemmere løsning

#topbar,#indhold,#menublok{
display:none;
}
#udskrift{
display:block;
}

Jeg har lige testet - det fungerer fint. Du kan så i den
normale css skrive

#udskrift{
display:none;
}

.... og naturligvis placere den udenfor de områder der
bliver slukket for.

--
Allan Vebel
http://html-faq.dk



Lasse Reichstein Nie~ (08-10-2007)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 08-10-07 00:00

"Rune Jensen" <runeofdenmark@hotmail.com> writes:

> OK, men kan man ikke lade teksten "poppe op" i et nyt vindue og så bare
> udskrive det dokument?

Sagtens
----
<textarea id="printable">This is text to print</textarea>
<input type="button" value="Print"
onclick="printText(document.getElementById('printable').value);">
<script type="text/javascript">
function printText(text) {
var page = [
"<html>",
"<head>",
"<title>", document.title, "<\/title>",
"<body onload='print();'>",
"<p>",
text.replace(/&/g,"&amp;")
.replace(/</g,"&lt;")
.replace(/\n/g,"<br>"),
"<\/p>",
"<\/body>",
"<\/html>"].join("");
var htmlString = page.replace(/"/g,'\\"');
window.open("javascript:\"" + htmlString + "\"",
"print",
"width:640,height:480");
}
</script>

>>> Hvordan er det nu det JS-script ser ud, som makerer al tekst i en
>>> tekstboks?
>>
>> tekstboxReference.select()
>>
>> altså fx:
>>
>> document.forms['formId'].elements['tekstboksName'].select();
>
> Tak mange gange for det. Jeg tror, jeg kløjedes lidt i det. Jeg skrev
> textbox i stedet for textarea.

Det opdagede jeg ikke engang :)
Det virker for både <textarea> og <input type="text">.

> Kan man tilgå textarea på samme måde

Jep

> - er textboxReference stien til det element, som snakkes om, og er
> der ikke en måde at "aflæse" den?

Ikke forstået.

"textboxReference" kan være en variabel eller et mere kompliceret
udtryk der evaluerer til det ønskede DOM-element.

Eksempel:
var textboxReference = document.forms['formId'].elements['textboxName'];
textboxReference.select();

> Du kan nok høre, jeg er ikke øvet

Man skal jo starte et sted :)

/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.'

Rune Jensen (13-10-2007)
Kommentar
Fra : Rune Jensen


Dato : 13-10-07 17:50

"Lasse Reichstein Nielsen" skrev i en meddelelse...
> "Rune Jensen" <runeofdenmark@hotmail.com> writes:
>
>> OK, men kan man ikke lade teksten "poppe op" i et nyt vindue og så bare
>> udskrive det dokument?
>
> Sagtens
> ----
> <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?

>> - 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

MVH
Rune Jensen



Lasse Reichstein Nie~ (14-10-2007)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 14-10-07 10:32

"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 "&lt;" 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.'

Rune Jensen (14-10-2007)
Kommentar
Fra : Rune Jensen


Dato : 14-10-07 15:59

"Lasse Reichstein Nielsen" skrev i en meddelelse...
> "Rune Jensen" 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).

[SNIP]

> Så ja, det kan det godt, men det bliver det nok ikke meget bedre af.
>

OK, kan godt se, hvad du mener, lidt for besværligt. Nu bliver boksen fyldt
med kode dannet med ASP udfra en -txt-fil, så jeg behøver ikke tænke så
meget lige dér. Så kan jeg vel lave noget fidlihut og bruge den samme
ASP-kode til at danne et nyt dokument med en print-knap i. Hmmm... redirect
til udskrift-side, måske


>> 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.
[SNIP]


Mange tak for den meget udførlige forklaring, den er rigtig god. I
øjeblikket har jeg getElementByID, men vidste ikke, det ikke er så
kompatibelt.

Skal lige høre: Hvis nu, text-area ikke ligger i en form, men i en DIV,
hvordan tilgår man den så? Eller den skal ligge i en form?


MVH
Rune Jensen

--
Support online Radio!
www.di.fm
WinAMP: DJ Doboy - The vocal edition Vol. 05



Rune Jensen (21-10-2007)
Kommentar
Fra : Rune Jensen


Dato : 21-10-07 15:13

"Rune Jensen" skrev...

> Skal lige høre: Hvis nu, text-area ikke ligger i en form, men i en DIV,
> hvordan tilgår man den så? Eller den skal ligge i en form?

hmmm... det svar har du jo sådan set givet... Vidst bare mig, som er lidt
langsom...


MVH
Rune Jensen



Erik Ginnerskov (08-10-2007)
Kommentar
Fra : Erik Ginnerskov


Dato : 08-10-07 21:09

Rune Jensen wrote:
> Har ikke lyst til at lave et specielt print.css til en bestem,t side,
> hvor det eneste, som skal printes er indholdet af en text-box.
>
> Kan dette gøres med JavaScript? (Og hvordan?)

Er det ikke at gøre det mere kompliceret end nødvendigt? Det kræver da kun
de to små definitionsblokke i den print.css, sådan som Allan har vist dig.
Så sætter du bare id'et udskrift på den tekst-box, du vil udskrive.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Rune Jensen (13-10-2007)
Kommentar
Fra : Rune Jensen


Dato : 13-10-07 17:57

"Erik Ginnerskov" skrev i en meddelelse...

> Er det ikke at gøre det mere kompliceret end nødvendigt? Det kræver da kun
> de to små definitionsblokke i den print.css, sådan som Allan har vist dig.
> Så sætter du bare id'et udskrift på den tekst-box, du vil udskrive.

Mit print.css skal bruges til at udprinte hele siden. Jeg kan heller ikke
se, hvordan det kan løses, efter at have kigget på Allans forslag. Det
kræver stadig et eller andet særskilt CSS. Jeg skal sådan set kun have den
kode printet ud og intet andet, der skal heller ikke styles på det. Derfor
synes jeg JavaScript var nærliggende. Hvis man popper det i et popupvindue,
lægger en print-knap på, må det vel kunne gøre det. Og den function kan man
vel lægge på alle kodebokse.

Ellers har jeg misforstået noget, må i gerne uddybe Allans forslag.

MVH
Rune Jensen




Jørgen Farum Jensen (14-10-2007)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 14-10-07 12:10

Rune Jensen skrev:
> Har ikke lyst til at lave et specielt print.css til en bestem,t side, hvor
> det eneste, som skal printes er indholdet af en text-box.
>

Lidt spekulativt: Inkluder i den
tekst du vil have i din textarea
(jeg går ud fra det er sådan en
det handler om), og brug view-source
med et link til den inkluderede fil.


--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i webdesign: http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

Rune Jensen (14-10-2007)
Kommentar
Fra : Rune Jensen


Dato : 14-10-07 16:55

"Jørgen Farum Jensen" skrev i en meddelelse...

> Rune Jensen skrev:
>> Har ikke lyst til at lave et specielt print.css til en bestem,t side,
>> hvor det eneste, som skal printes er indholdet af en text-box.
>>
>
> Lidt spekulativt: Inkluder i den
> tekst du vil have i din textarea
> (jeg går ud fra det er sådan en
> det handler om), og brug view-source
> med et link til den inkluderede fil.

Den har jeg vidst ikke helt forstået... Du har forsåvidt ret i, at man bare
kan linke til tekst-filen (som jo så automatisk åbnes og vises) og så lave
en udskrift derfra manuelt - det du mener?


MVH
Rune Jensen



Jørgen Farum Jensen (15-10-2007)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 15-10-07 17:03

Rune Jensen skrev:

>> Lidt spekulativt: Inkluder i den
>> tekst du vil have i din textarea
>> (jeg går ud fra det er sådan en
>> det handler om), og brug view-source
>> med et link til den inkluderede fil.
>
> Den har jeg vidst ikke helt forstået... Du har forsåvidt ret i, at man bare
> kan linke til tekst-filen (som jo så automatisk åbnes og vises) og så lave
> en udskrift derfra manuelt - det du mener?

Ja, jeg mener at have brugt det en gang
til at vise css-filen.


--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i webdesign: http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409076
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste