Avatar billede sth Novice
08. december 2005 - 07:56 Der er 13 kommentarer og
1 løsning

print kun indhold i iframe

jeg har en iframe der ser sådan ud:

<iframe src="print_ordre.asp" width="400" height="400"  scrolling="auto" frameborder="1">



hvordan får jeg automatisk printet indholdet af det der står i iframe (altså det som står i filen print_ordre.asp)

jeg trode at jeg "bare" kunne skrive <body onLoad="self.print();">
i toppen på print_ordre.asp men så printer den den frame jeg har min ifreme stående i !

nogen der kan hjælpe hurtig !
Avatar billede fennec Nybegynder
08. december 2005 - 08:18 #1
document.iframeNavn.focus();
document.iframeNavn.print();
Avatar billede sth Novice
08. december 2005 - 08:40 #2
Hvor er det så jeg lige skal skrive det ?

i filen der skal printres eller i den fil hvor der står
<iframe src="print_ordre.asp" width="400" height="400"  scrolling="auto" frameborder="1">


kan du lave et hurtig eks til mig, jeg har bare ingen erfaring med iframe :-(
Avatar billede fennec Nybegynder
08. december 2005 - 08:53 #3
I den fil hvor iFramen er placeret.

<script>
function myPrint()
{
document.iframeNavn.focus();
document.iframeNavn.print();
}
</script>
<input type="button" onClick="myPrint()">
<iframe name="iframeNavn"></iframe>
Avatar billede sth Novice
08. december 2005 - 08:58 #4
ok men jeg er ked af at kave en knap, kan det laves uden
jeg har i mellem tiden lært lidt om ifram (men selvf. ikke meget)

hvad nu hvis koden ser sådan ud:

<iframe src="print_ordre.asp" width="200" height="200" frameborder="0" style="display: none;" name="ifr"></iframe>


hvordan laver jeg det så jeg ikke skal bruge en knap
Avatar billede sth Novice
08. december 2005 - 09:06 #5
ok jeg har nu afprøvet følgende, og det virkede ikke efter hensigten, det er den frame som min ifrem er lavet i der udskrives ig ikke kun min ifreme

<script>
{
document.ifr.focus();
document.ifr.print();
}
</script>

<iframe src="print_ordre.asp" width="0" height="0" frameborder="0" style="display: none;" name="ifr"></iframe>
Avatar billede fennec Nybegynder
08. december 2005 - 09:22 #6
Hvis den skal printe helt automatisk, skal det ind som på iFramens onLoad. Kan ikke helt huske komandoen:

<body onLoad="parent.myPrint()">

eller:
<body onLoad="parent.document.myPrint()">

Begge kræver funktionen fra 08:53:36, og den skal være placeret på "hovedsiden". Body'en skal være på print_ordre.asp

Men du kan måske bruge denne, så du helt undgår funktionen:
<body onLoad="this.focus();this.print();">

Skal også være på print_ordre.asp
Avatar billede mm12010 Nybegynder
08. december 2005 - 09:31 #7
eller sådan:

printer=window.open(window.frames['content'].location.href);printer.print();printer.close();self.focus();
Avatar billede sth Novice
08. december 2005 - 11:20 #8
je kan ikke få det til at virke jeg har nu følgende kode:
hovedside:
<script>
function myPrint()
{
document.iframeNavn.focus();
document.iframeNavn.print();
}
</script>

<iframe src="print_ordre.asp" width="0" height="0" frameborder="0" style="display: none;" name="ifr"></iframe>


print_ordre.asp indeholder følgende

<body onLoad="parent.document.myPrint()">

har også testet med
<body onLoad="parent.myPrint()">


men med samme resultat det er min hovedside der kommer ud i min printer :(



mm12010 mangler der ikke noget i din kode ?
Avatar billede mm12010 Nybegynder
08. december 2005 - 11:26 #9
mangler og mangler - scriptet skal selvfølgelig eksekveres og placeres i et script-tag, ex:

<script type="text/javascript">
window.onload=function(){printer=window.open(window.frames['content'].location.href);printer.print();printer.close();self.focus();}
</script>
Avatar billede sth Novice
08. december 2005 - 11:33 #10
jeg kom da lige til at se at jeg ikke havde kaldt min ifram og min funktion det samme

dette er nu rettet så jeg har dette:

hovedside:
<script>
function myPrint()
{
document.ifr.focus();
document.ifr.print();
}
</script>

<iframe src="print_ordre.asp" width="0" height="0" frameborder="0" style="display: none;" name="ifr"></iframe>


print_ordre.asp indeholder følgende

<body onLoad="parent.document.myPrint()">

har også testet med
<body onLoad="parent.myPrint()">


men med samme resultat det er min hovedside der kommer ud i min printer :(
Avatar billede sth Novice
08. december 2005 - 11:34 #11
mm12010: jeg indrømmer jeg ikke er nogen ørn til javascript, men hvordan finder din kode ud af at den skal printe den side der heder print_ordre.asp

og det må ikke ske i en pop up
Avatar billede fennec Nybegynder
08. december 2005 - 11:49 #12
Nu har jeg lige testet det hos mig, og ganske rigtigt printer den det forkerte, men så fjernede jeg style="display: none;" fra iframen også printer den fint...
Avatar billede fennec Nybegynder
08. december 2005 - 11:55 #13
Du kan faktisk nøjes med:
<body onLoad="this.focus();this.print();">

på print_ordre.asp. Den anden funktion er ikke nødvendig.
Avatar billede sth Novice
10. december 2005 - 12:44 #14
fennec
hej igen har været syg et par dage  men er næsten tilbage :)
men jeg det virkede ikke selv om jeg rette til dit sidste indlæg !

men så fjernede jeg denne funktion:
<script>
function myPrint()
{
document.ifr.focus();
document.ifr.print();
}
</script>
og så virkede det :)

Hvorfor ved jeg ike og det er også lige meget

Du skal have tak for sdin store tålmodigheh
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