Avatar billede sw_red_6 Nybegynder
10. maj 2007 - 12:28 Der er 8 kommentarer og
1 løsning

funktion til print virker lidt for godt.

Jeg har fået lidt hjælp til at lave en print funktion.. Nu har jeg så behov for at finde ud af hvorfor den skriver alle filer ud.. dvs. den udskriver den valgte fil plus alle filer der er blevet valgt tidligere...

Min kode ser således ud:
function vis_print_knap(fil) {
  var knap = document.getElementById('print_knap');
  knap.style.display='block';
  if(knap.attachEvent) {
    knap.removeEvent(\"onclick\", function() {print_frame(fil);});
    knap.attachEvent(\"onclick\", function() {print_frame(fil);});
  } else if(knap.addEventListener) {
    knap.removeEventListener(\"click\", function() {print_frame(fil);}, true);
    knap.addEventListener(\"click\", function() {print_frame(fil);}, true);
  }
}
function skjul_print_knap() {
  if(document.getElementById('print_knap').style.display!='none') {
    document.getElementById('print_knap').style.display='none';
    window.frames.syns_frame.location.href='about:blank';
  }
}
function print_frame(fil) {
  popwin = window.open(fil, 'Udskriv', 'height=1000, width=800, menubar=0, status=1, location=0, toolbar=0, scrollbars=1');
  popwin.print();
}
Avatar billede sw_red_6 Nybegynder
10. maj 2007 - 14:38 #1
Det ser lidt ud som om når jeg trykker på udskriv så bliver den valgte fil loadet i popup vinduet og der kommer en udskrift-boks, men lige efter bliver den forrige fil loadet og endnu en udskrift-boks kommer og sådan bliver det ved indtil den kommmer til den første fil der blev loadet..

Hvad kan der være galt for at det kan ske?
Avatar billede roenving Novice
10. maj 2007 - 14:42 #2
Hvad sker der, hvis du udsætter printet et lille øjeblik ?-)

function print_frame(fil) {
  popwin = window.open(fil, 'Udskriv', 'height=1000, width=800, menubar=0, status=1, location=0, toolbar=0, scrollbars=1');
  popwin.setTimeout("self.print()",100);
}
Avatar billede sw_red_6 Nybegynder
10. maj 2007 - 14:57 #3
hmm det virker tilsyneladende ikke i IE7 nu, men i FF2 laver den samme nummer som før..
Avatar billede sw_red_6 Nybegynder
10. maj 2007 - 15:04 #4
argh.. Det ser ud som om den onclick-event jeg sætter på ikke bliver fjernet igen, altså nærmest som om print_frame bliver kaldt gentagende gange hvis jeg har kørt vis_print_knap flere gange.
Kan det ikke lade sig gøre, eller har jeg lavet en fejl i den kode jeg bruger til det?
Avatar billede sw_red_6 Nybegynder
10. maj 2007 - 15:55 #5
og jeg har ændre så den bruger detachEvent i stedet for removeEvent
Avatar billede sw_red_6 Nybegynder
11. maj 2007 - 09:10 #6
jeg har løst det på en anden måde.. Jeg har lavet en global var som bliver sat til en værdi i vis_print_knap() og bruges i print_frame()... det virker tilsyneladende, men ville egentlig godt have undgået den globale variabel
Avatar billede sw_red_6 Nybegynder
14. maj 2007 - 14:07 #7
roenving>> vil du have point må du lige ligge et svar... gerne med en forslag til at forbedre scriptet..
Avatar billede roenving Novice
14. maj 2007 - 16:03 #8
Nej tak, ellers tak !-)
Avatar billede sw_red_6 Nybegynder
15. maj 2007 - 11:08 #9
OK, det er så helt i orden..
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