Avatar billede elskermad.dk Nybegynder
28. februar 2004 - 18:02 Der er 28 kommentarer og
1 løsning

udskrive indhold i en div

hej eksperter :)
jeg er brug for at udskrive indholdet i en div men kan ikke lige gennemskue hvordan det kan gøres... (har ikk printer selv så kan ikke teste!)

jeg ku tænke det kunne være noget med document.getElementById('div').print() men har ikke rigtig en idé om det...

håber nogen kan hjælpe mig :)

- på forhånd tak
Avatar billede roenving Novice
28. februar 2004 - 18:04 #1
-- det er kun window-objekter, som har en .print()-metode, så du må overføre indholdet til en (skjult) (i)frame for at udskrive det !-)
Avatar billede elskermad.dk Nybegynder
28. februar 2004 - 18:07 #2
okay, hvordan udskriver jeg så iframen?
Avatar billede thesurfer Nybegynder
28. februar 2004 - 18:33 #3
Eksempel..

--

din hoved side.. Det ville nok være en god ide, at tilføje width="0" height="0":
<iframe src="print.htm" name="printframe"></iframe>

<div id="testdiv">hello world</div>
<a href="#" onclick="parent.frames['printframe'].document.getElementById('printdiv').innerHTML = document.getElementById('testdiv').innerHTML;parent.frames['printframe'].print(); return false;">Print div</a>

--

din print.htm fil som loades inde i iframen:
<div id="printdiv"></div>

--
Avatar billede elskermad.dk Nybegynder
28. februar 2004 - 18:54 #4
ehmn kan ikke helt gennemskue din kode thesurfer men tror den gør det omvendt at den arbejder inde i en frame også printer en div i hovedsiden?

den skal "bare" udskrive hvad der er i framen ved at trykke på et link i hovedsiden
Avatar billede thesurfer Nybegynder
28. februar 2004 - 19:00 #5
Smid lige noget kode og fortæl hvad det er der skal printes..

Det skal skal printes skal stå mellem <div id="testdiv"> og </div>

Men smid lige noget kode..
Avatar billede elskermad.dk Nybegynder
28. februar 2004 - 19:02 #6
ehmn kan ikke rigtig smide noget kode da det vil gøre det endnu mere indviklet (roder meget) men jeg har en iframe som jeg gerne vil have udskrevet ved tryk på et link på siden hvor iframen findes, hvordan gøres det?
jeg kan selv lave iframen så det skal du ikk tænke på...
Avatar billede thesurfer Nybegynder
28. februar 2004 - 19:08 #7
OK..
Du putter bare den del af din side, som skal printes, i et <div> eller <span> tag.

F.eks.:
-----
Hej og velkommen til min side.
<div id="testdiv">
Dette område af siden kan printes..
</div>

<iframe src="print.htm" name="printframe" width="0" height="0"></iframe>

Du skal bare klikke her:
<a href="#" onclick="parent.frames['printframe'].document.getElementById('printdiv').innerHTML = document.getElementById('testdiv').innerHTML;parent.frames['printframe'].print(); return false;">Print div</a>

-----

Og din print.htm:
<div id="printdiv"></div>

-----
Avatar billede elskermad.dk Nybegynder
28. februar 2004 - 19:13 #8
nej thesurfer tror ikke du forstår mig... ligesom document.print() må man da også kunne bruge en iframe.print() ?
Avatar billede thesurfer Nybegynder
28. februar 2004 - 19:14 #9
dvs, du vil bare printe indholdet af en iframe? :)
Hvis ja: <a href="#" onclick="parent.frames['printframe'].print();return false">Print iframe</a>
Avatar billede thesurfer Nybegynder
28. februar 2004 - 19:16 #10
'printframe' er navnet på iframe.. dvs det der står i <iframe name="printframe" ...>
Avatar billede elskermad.dk Nybegynder
28. februar 2004 - 19:24 #11
hvorfor den parent. ?
Avatar billede thesurfer Nybegynder
28. februar 2004 - 19:39 #12
Tja, man kan vel nøjes med: document.frames['printframe'].print()
Avatar billede thesurfer Nybegynder
28. februar 2004 - 19:39 #13
parent er "det store vindue der indeholder framesne"..
Avatar billede elskermad.dk Nybegynder
28. februar 2004 - 19:44 #14
det er i det "store vindue" at linket er, så det burde vel virke uden?

lægger du et svar+
Avatar billede thesurfer Nybegynder
28. februar 2004 - 19:49 #15
Et svar er lagt..
Skal linket med? Til sidst troede jeg, at det var det i iframen, der skulle printes..
Avatar billede elskermad.dk Nybegynder
28. februar 2004 - 19:57 #16
nej det er iframen's indhold som skal printes fra en link på forsiden, men regner med det virker nu! :) takker
Avatar billede thesurfer Nybegynder
28. februar 2004 - 20:08 #17
Takker for points! :)
Avatar billede roenving Novice
28. februar 2004 - 21:17 #18
-- og principielt er .frames-propertyen vel et barn af et window-objekt og ikke et document-objekt ...
Avatar billede elskermad.dk Nybegynder
28. februar 2004 - 21:57 #19
frames[\"skjult_profil\"].print() virker ikke :/ den printer hovedsiden og ikke indholdet i framen :/
Avatar billede roenving Novice
28. februar 2004 - 22:00 #20
Du skal sætte .focus() før du bruger .print() -- en af de mere subtile mærkværdigheder:

var if = window.frames['skjult_profil'];if.focus();if.print();window.focus();
Avatar billede elskermad.dk Nybegynder
28. februar 2004 - 22:02 #21
hvordan sættes det sammen med:

<a href='#' onClick='frames[\"skjult_profil\"].print();return false'><img src='../../grafik/printikon.gif' border='0'></a>
Avatar billede roenving Novice
28. februar 2004 - 22:33 #22
<a href='#' onClick="var ifr=window.frames['skjult_profil'];ifr.focus();ifr.print();window.focus();return false;"><img src='../../grafik/printikon.gif' border='0'></a>

-- fandt lige et bedre variabel-navn !-)
Avatar billede elskermad.dk Nybegynder
28. februar 2004 - 22:37 #23
kan man i en event lave javascript som man ville have lavet ellers? altså fx lave function arbejde med cookies og alt andet i teorien?
Avatar billede roenving Novice
28. februar 2004 - 22:40 #24
Du kan jo bare kalde en function, f.eks.

<script type="text/javascript">
function printFrame(frame){
var ifr = parent.frames[frame];
ifr.focus();
ifr.print();
window.focus();
}
</script>
<a href="#" onclick="printFrame('skjult_profil');return false;"><img src='../../grafik/printikon.gif' border='0'></a>
Avatar billede elskermad.dk Nybegynder
28. februar 2004 - 22:42 #25
okay jeg siger mange tak... nok dig der skulle have haft points istedet men kan da give dig lidt karma eller hvad det nu er der er blevet lavet på E
Avatar billede roenving Novice
28. februar 2004 - 22:46 #26
Nu havde jeg jo ikke mulighed for at følge op, så det er vel i orden, at thesurfer har fået points ...

-- og som sagt er det nok en af de mere subtile mærkværdigheder, at et window-objekt skal have fokus for at printe, for metoden hører jo til objektet !-)
Avatar billede elskermad.dk Nybegynder
28. februar 2004 - 22:50 #27
ja jeg havde hvert fald aldrig gættet det hvis jeg skulle have gået i bugt med at gætte det hehe :] tak for hjælpen
Avatar billede thesurfer Nybegynder
01. marts 2004 - 17:17 #28
roenving> Jeg giver gerne pointsne videre.. du skal bare sige til :)
"var if = window".. ikke just det bedste valg af variabelnavn ;-)
Avatar billede roenving Novice
02. marts 2004 - 02:23 #29
Næh, det faldt jeg jo så heldigvis over, inden jeg gav en færdig version *lol*
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger en IT-supporterelev til lokal IT på Haderslev Kaserne

Politiets Efterretningstjeneste

GenAI Specialist i PET

Riskpoint A/S (Riskpoint Solutions Limited)

IT Business Analyst