Avatar billede sw_red_6 Nybegynder
03. oktober 2006 - 14:47 Der er 8 kommentarer og
1 løsning

videresend med variabel virker ikke

Jeg har følgende kode og det virker helt efter hensigten. Nu vil jeg godt have mulighed for at sende en url mere med som skal bruges til at redirecte til en anden side efter der er skrevet ud.

if (window.print && window.frames && window.frames.printerIframe) {
  var html = '';
  html += '<html>';
  html += '<body onload="parent.printFrame(window.frames.urlToPrint);">';
  html += '<iframe name="urlToPrint" src="' + url + '"><\/iframe>';
  html += '<\/body><\/html>';
  var ifd = window.frames.printerIframe.document;
  ifd.open();
  ifd.write(html);
  ifd.close();
}

hvis jeg skriver parent.printFrame(window.frames.urlToPrint, test.php) for jeg en fejl med at test ikke er defineret, hvad kan jeg gøre for at skidtet opfatter det som en alm. streng?
Jeg har også prøvet med parent.printFrame(window.frames.urlToPrint, '+ tilURL +')
og der får jeg den samme fejl.
Avatar billede olebole Juniormester
03. oktober 2006 - 15:04 #1
<ole>

Du må nok levere noget relevant kode  =)

/mvh
</bole>
Avatar billede sw_red_6 Nybegynder
03. oktober 2006 - 15:13 #2
function print(url, tilURL) {
  if (window.print && window.frames && window.frames.printerIframe) {
    var html = '';
    html += '<html>';
    html += '<body onload="parent.printFrame(window.frames.urlToPrint);">';
    html += '<iframe name="urlToPrint" src="' + url + '"><\/iframe>';
    html += '<\/body><\/html>';
    var ifd = window.frames.printerIframe.document;
    ifd.open();
    ifd.write(html);
    ifd.close();
  }
 
}
function printFrame (frame, url) {
  if (frame.print) {
    frame.focus();
    frame.print();
    //window.location = url;
  }
}

Det var så al min kode til det her.
den bliver kaldt med det her:
<a href="#" onclick="print('i_statistik.php?STAT_START_DATO=<?php echo $STAT_START_DATO; ?>&type=<?php echo $showtype; ?>&status=print');">udskriv statistik</a>
Der har jeg så haft ", '<?php echo $redirect; ?>' " sat ind i print();
Avatar billede olebole Juniormester
03. oktober 2006 - 16:05 #3
Det kan du ikke. Som vi har talt om i et andet spørgsmål, ved browseren ikke, hvornår udskriften er tilendebragt ... og den kan derfor heller ikke redirect'e, efterfølgende  :)
Avatar billede sw_red_6 Nybegynder
03. oktober 2006 - 16:09 #4
jep det er jeg klar over, men om den skal vente til efter der er printet er lidt lige meget lige nu. problemet er at den tilsyneladende ikke kan finde ud at af tilURL er en alm. streng og ikke et event/funktionskald/hvad det nu hedder.. som window.frames.urlToPrint
Avatar billede sw_red_6 Nybegynder
04. oktober 2006 - 13:29 #5
er der ikke nogen der kan hjælpe her?
jeg har ændret lidt på tingene.
function print(url, tilURL) {
//alert(id + "<br>" + STAT_START_DATO);

  if (window.print && window.frames && window.frames.printerIframe) {
    var html = '';
    html += '<html>';
    html += '<body onload="parent.printFrame(window.frames.urlToPrint);parent.videresend('+ tilURL +')">';
    html += '<iframe name="urlToPrint" src="' + url + '"><\/iframe>';
    html += '<\/body><\/html>';
    var ifd = window.frames.printerIframe.document;
    ifd.open();
    ifd.write(html);
    ifd.close();
  }
 
}
function printFrame (frame, url) {
  if (frame.print) {
    frame.focus();
    frame.print();
    //window.location = url;
  }
}

function videresend (url) {
  alert(url);
  //window.location = url;
}
linket jeg bruger til at kalde print():
<?php
$redirect = 'i_mathias.php'; // test-URL
?>
<a href="#" onclick="print('i_statistik.php?STAT_START_DATO=<?php echo $STAT_START_DATO; ?>&type=<?php echo $showtype; ?>&status=print', '<?php echo $redirect; ?>');">udskriv statistik</a>

problemet er at den siger at i_mathias ikke er defineret
Avatar billede olebole Juniormester
04. oktober 2006 - 14:00 #6
Hvordan ser linket ud, når det er skrevet til browseren? Jeg kan ikke bruge din PHP-kode til noget, men må have det, der står i 'View Source'  ;o)

I øvrigt er det altid en rigtig skidt idé at bruge reserverede navne til funktions-navne (eller noget somhelst andet) - og som du jo ved, er der allerede en indbygget JS-funktion, der hedder 'print'  :)
Avatar billede sw_red_6 Nybegynder
04. oktober 2006 - 14:13 #7
her er linket fra 'view source':
<a href="#" onclick="print('i_statistik.php?STAT_START_DATO=2006-10-01&type=PROCENT&status=print', 'i_mathias.php');">udskriv statistik</a>
hvis jeg bruger det her link i stedet for får jeg besked om at det blev forventet en ):
<a href="#" onclick="print('i_statistik.php?STAT_START_DATO=2006-10-01&type=PROCENT&status=print', '/DB/DEV_SYN/w_kontor.php?SIDE_STATUS=DAGENS_SYN');">udskriv statistik</a>
Avatar billede sw_red_6 Nybegynder
04. oktober 2006 - 14:14 #8
mht funktionsnavnet er det en tanketorsk fra min side, det bliver rettet til noget andet senere
Avatar billede sw_red_6 Nybegynder
21. december 2006 - 11:40 #9
Det er blevet løst. jeg kan ikke lige huske hvad det var vi gjorde men vi droppede i hvert fald den redirect..
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