• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

<form> absenden per Javascript

  • Ersteller Ersteller matibaski
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
M

matibaski

Guest
Hallo!
Ich bin eine Druckfunktion am machen mit PHP/JS.

Nämlich:
Ich habe eine Form, die an ein Javascript geschickt wird, dass ein Popup öffnet, und das geschickte wird im Popup ausgewertet in print.php.

Nun muss man die Form ja abschicken, das mache ich mit einem Submit-Link.

Also so:
Code:
Hier der Teil im Head:
<script language="javascript" type="text/javascript">
<!--
var win=null;
onerror = stopError;
function stopError(){
    return true;
}
function popup(){
    settings="width=640,height=480,top=20,left=10,scrollbars=yes,location=no,directories=no,status=no,menubar=yes,toolbar=no,resizable=no,dependent=no";
    win=window.open("print.php","Seite Drucken - MyB.ch.vu",settings);
    win.focus();
}
function print () {
  document.print.submit();
}
// -->
</script>

Hier der Teil im Body:
<form name="print" method="post" action="javascript:popup();">
     <?php if(!isset($_GET['site'])) { echo'<input type="hidden" name="site" value="home" />'; } else { echo'<input type="hidden" name="site" value="'.$_GET['site'].'" />'; } ?>
     <?php if(isset($_GET['panel'])) { echo'<input type="hidden" name="panel" value="'.$_GET['panel'].'" />'; } ?>
     <a href="index.php?site=<?php if(!isset($_GET['site'])) { echo'home'; } else { echo $_GET['site']; } ?>&amp;print=<?php if(!isset($_GET['site'])) { echo'home'; } else { echo $_GET['site']; } ?>" onclick="print();" style="text-decoration:none;">
      Seite drucken&nbsp;<img src="http://www.html.de/images/icons/print.gif" style="width:14px; height:14px; border:0px; vertical-align:middle;" alt="" />
     </a>
    </form>
Doch irgendwie will die Weiterleitung an das Popup nicht funktionieren. Wieso, weiss ich nicht.
Hab ich was falsch gemacht?
Bin eben nicht der beste in JS, und brauche selten JS, also jetzt :D
Wäre nett, wenn jemand helfen kann.


MfG, matibaski
 
Probier es mal so.
Code:
function popup()
{
  settings="width=640,height=480,top=20,left=10,scrollbars=yes,location=no,directories=no,status=no,menubar=yes,toolbar=no,resizable=no,dependent=no";
  win=window.open("print.php","Seite Drucken - MyB.ch.vu",settings);
  document.getElementById('formular').target = win
  win.focus();
}
<form action="print.php" id="formular" onSubmit="popup()">
<!-- ... -->
 
Geht, habe den Code ein wenig abgeändert.
Nun öffnet es das Popup und ein neues Fenster.
Wieso?

Also so:
Code:
<script language="javascript" type="text/javascript">
<!--
var win=null;
onerror = stopError;
function stopError(){
    return true;
}
function popup()
{
  settings="width=640,height=480,top=20,left=10,scrollbars=yes,location=no,directories=no,status=no,menubar=yes,toolbar=no,resizable=no,dependent=no";
  win=window.open("print.php","Seite Drucken - MyB.ch.vu",settings);
  document.getElementById('formular').target = win
  win.focus();
  document.print.submit();
}
// -->
</script>
    <form name="print" id="formular" onSubmit="popup()">
     <?php if(!isset($_GET['site'])) { echo'<input type="hidden" name="site" value="home" />'; } else { echo'<input type="hidden" name="site" value="'.$_GET['site'].'" />'; } ?>
     <?php if(isset($_GET['panel'])) { echo'<input type="hidden" name="panel" value="'.$_GET['panel'].'" />'; } ?>
     <a href="index.php?site=<?php if(!isset($_GET['site'])) { echo'home'; } else { echo $_GET['site']; } ?>&amp;print=<?php if(!isset($_GET['site'])) { echo'home'; } else { echo $_GET['site']; } ?>" onclick="popup();" style="text-decoration:none;">
      Seite drucken&nbsp;<img src="http://www.html.de/images/icons/print.gif" style="width:14px; height:14px; border:0px; vertical-align:middle;" alt="" />
     </a>
    </form>
MfG,matibaski

edit:
Habs gelöst.
Ich musste nur den Befehl getElementByID wegnehmen.

MfG, matibaski
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben