Avatar billede Tony Juniormester
06. november 2001 - 11:59 Der er 16 kommentarer og
1 løsning

Udskriv indholdet af popup via printer ...

I http://www.eksperten.dk/spm/108814 har jeg \'function visResultat()\' som genererer en popup med testresultater. De resultater vil jeg gerne give bruger mulighed for at udskrive på papir via brugers printer.

Nederst i spørgsmålet (Kommentar fra jakoba 
14/09 2001 17:29:38) kan du se at der bliver lavet et funktionskald via onClick til \'print()\' ... men funktionen er ikke etableret ...

Kender du en funktion, der kan udskrive indholdet af en popup ?

Avatar billede nikolajdu Nybegynder
06. november 2001 - 12:05 #1
Hvis du har givet vinduet et navn med mitVindue= window.open(\'blblablalbal...\')

Kan du udskrive med:

<a href=\"#\" onClick=\"mitVindue.body.print()\">print</a>
Avatar billede Tony Juniormester
06. november 2001 - 12:10 #2
OK \'nikolajdu\' ... fumler lige lidt med det ... :)
Avatar billede Tony Juniormester
06. november 2001 - 12:15 #3
Den siger at \'w\' ikke er defineret ???

function visResultat( ) {
    beregnForm();
    var w = window.open( \'about:blank\', \'reswin\', \'width=450, height=350\' )
    w.focus();
    var tx = \"<table cellpadding=\'4\' cellspa.....
    ..... bla bla ...
    tx += \"<br><form><input type=\'button\' \"+\"value=\'Udskriv\' onclick=\'w.body.print();\'></form>\";
w.document.writeln(\"<font size=\'4\' face=\'Verdana, Arial, Helvetica, sans-serif\'><center><b>Resultatet i % af din test er:</b><br><br>\" +tx +\"</center></font>\");
}; //end visResultat( )
//--> </script>
Avatar billede nikolajdu Nybegynder
06. november 2001 - 12:32 #4
Prøv at se her:

http://www.eksperten.dk/spm/130201

Næsten samme spørgsmål.
Avatar billede Tony Juniormester
06. november 2001 - 12:42 #5
I\'m sorry ... Jeg kan ikke gennemskue hvordan \'print()\' skal implementeres ... Jeg skal ikke printe på \'onLoad\', men \'onClick\' ...
Avatar billede jakoba Nybegynder
06. november 2001 - 14:04 #6
Der er to ting gale jeg kan se:
1) den der w.document.writeln linie skal udskiftes med 3 linier før ns4.7 ser resulttvinduet som et separat vindue med eget dokument og så udskriver det:
    w.document.open( \'text/html\', \'replace\' );
    w.document.writeln(\"<center><b>Resultatet er:</b><br>\" +tx +\"</center>\" );
    w.document.close();

2) funktionen print() ligger forskellige steder i IE og i Netscape. NS har den i selve vinduet. Ie har den inde i body, så selve kaldet skal være forskelligt altefter hvilken browser det er:

    tx += \"<br><form><input type=\'button\' \"+\"value=\'Udskriv\' onclick=\'\"
        + ( (document.all)?\"document.body.print();\":\"self.print();\" )
        + \"\'></form>\";

noget i den retning :)

mvh JakobA
Avatar billede Tony Juniormester
06. november 2001 - 14:14 #7
Hmm ... Den siger: Adgang nægtet til: w.document.open( \'text/html\', \'replace\' );
Avatar billede Tony Juniormester
06. november 2001 - 14:20 #8
... og den siger: \'Objektet understøtter ikke denne egenskab eller metode\' til: document.body.print();
Avatar billede jakoba Nybegynder
06. november 2001 - 14:41 #9
Den der adgarng nægtet er vist fordi du stadig havde et gammelt popop åbent fra et tidligere browservindue.
jeg har lagt en ny http://hjem.get2net.dk/Jakob.Aggernaes/temp/exp108814.html op med de rettelser, men får ligesom du fejl på document.body-print()
måske det bare skal være  self.print() for IE også, men den virker ikke i IE4.
Avatar billede Tony Juniormester
06. november 2001 - 15:04 #10
ad \'adgang nægtet\', Ja en gammel \'pop\' der lå og flød ...

****

Jeg får, som du, fejl på: \'document.body.print()\'

Men prøv lige at udskifte den med: \'document.body-print()\'

Den virker helt fint ... Ak ak, et \'body.print\' skulle udskiftes med en \'body-print\' :)

Den havde jeg aldrig luret ... O\'Reily siger også at syntaksen er: window.print()
Avatar billede jakoba Nybegynder
06. november 2001 - 15:18 #11
hvis regnestykket
    document.body - print() 
virker så må det betyde at Oreilley har ret og at der bare skal stå
    print()
eller
    window.print();
for IE

PS: det der minustegn var 100% en slåfejl. jeg mente body.print() :-))
Avatar billede Tony Juniormester
06. november 2001 - 15:19 #12
... og ved nærmere eftertanke, mon det så ikke \'blot\' er min IE der gætter sig frem til hvad det er jeg mener og så selv korrigerer ...

Det kan da\' ik\' være noget andre browsere synes alt for godt om ???
Avatar billede Tony Juniormester
06. november 2001 - 15:20 #13
Åhh, fik ik\' lige opdateret inden jeg sendte ... sorry.
Avatar billede Tony Juniormester
06. november 2001 - 15:25 #14
Jo, blot \'print()\' virker :)

Den var go\' den med din slåfejl :-))) Så ved vi det fremover, hvis intet andet virker, så prøv med \'-\' :)

Tak for hjælpen ... smid lige et \'bøh\' svar ...
Avatar billede jakoba Nybegynder
06. november 2001 - 15:33 #15
ok, jeg er skamløs.
Avatar billede nikolajdu Nybegynder
06. november 2001 - 15:34 #16
hehe - Vi taster bare løs. Så virker det 100 i IE.
Avatar billede Tony Juniormester
06. november 2001 - 15:40 #17
nikolajdu >> *ROTFLMAO* som <olebole> ville have sagt :)

Tak JakobA ... håber du kommer dig ... :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester