05. september 2002 - 13:25Der er
7 kommentarer og 1 løsning
udskriv et textarea på en printer
Jeg har en tilmeldingsside, hvor brugerne skal acceptere nogle vilkår, som kan ses i et textarea. Jeg vil så have en print knap, som kan udskrive vilkårene på brugerens printer.
sæt dette under <head>: <script type="text/javascript"> DA = (document.all) ? 1 : 0
//PRINT VED KALD "StartPrint ()" i Netscape og Explorer function StartPrint() { if(DA){ print(); } else { window.print(); } } function handle_error() { alert("Der opstod en uventet fejl. Der blev derfor ikke printet.") return true; } </script> <script type="text/vbscript"> sub window_onunload on error resume next set WB = nothing end sub
sub print OLECMDID_PRINT = 6 OLECMDEXECOPT_DONTPROMPTUSER = 2 OLECMDEXECOPT_PROMPTUSER = 1 on error resume next if DA then call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER) else call WB.IOleCommandTarget.Exec(OLECMDID_PRINT ,OLECMDEXECOPT_DONTPROMPTUSER,"","") end if if err.number <> 0 then if DA then //alert "Intet blev printet. Tryk 'Refresh' på din browser for at udskrive artiklen!" end if end if end sub
if DA then wbvers="8856F961-340A-11D0-A96B-00C04FD705A2" else wbvers="EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B" end if document.write "<OBJECT ID=""WB"" WIDTH=0 HEIGHT=0 CLASSID=""CLSID:" document.write wbvers & """> </OBJECT>"
Undskyld jeg spørger, men hvorfor lægge vilkårene i et textarea? Er det meningen, at brugerne selv skal kunne indtaste vilkårene, for det er det textareas er beregnet til.
Hvis det er for at lave et scrollable område på dokumentet bør du vel anvende en iframe. Endnu bedre ville det være bare at have vilkårene stående på selve siden, så vil browserens indbyggede print-knap endda virke.
Jeg ved godt, at dette spørgsmål er så "dødt", som det kan blive - men af hensyn til andre brugere, der kan være på jagt efter noget lignende, vil jeg lige nævne, at man kan bruge styles til at sikre, at det kun er en bestemt del af en side, der udskrives, når man bruger browserens print-funktion.
Definer et stylesheet med attributten media="print", indeholdende en klasse, der f.eks. kan hedde dontPrint. Sæt display=none for denne klasse.
Sæt derefter <span class=dontPrint> og </span> omkring alle elementer, der ikke skal udskrives (dvs. ét span, der går fra <body>-tagget og ned til textareaet - og et andet, der går fra textareaet og ned til </body>-tagget).
Jeg har selv fundet en løsning. Tak for alle indsendte svar. Jeg lukker nu.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.