Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] JavaScript - Formularsubmit und Weiterleitung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] JavaScript - Formularsubmit und Weiterleitung

    Guten Tag!

    Ich habe wiedermal ein Problem, das ich bis jetzt noch nicht lösen konnte.
    Ich bin dran, ein Bestellschein zu programmieren den man online ausfüllen kann. Mit Lieferant, Besteller, Konto, Artikel, Daten und alles drum und dran.
    Wenn zum Beispiel eine Artikelmenge eingegeben wurde, wird das Formular gesubmittet. Zuunterst habe ich einen normalen a href der beim Klick die Daten in die Datenbank aufnimmt und ein pdf erstellt.
    Bei diesem a href wird natürlich das Formular nicht nochmals submittet. So werden geänderte Sachen(z.b. Artikelname) noch mit dem alten Wert übergeben.

    Der Link sieht so aus:
    Code:
    <a href="javascript:jawoll()">
      Drucken
    </a>
    Function jawoll sieht so aus:
    Code:
    function jawoll()
    {
        document.bestellung.submit();
        window.location.href = "druck.php";
    }
    Das Formular heisst bestellung.
    Nun zu meinem Problem.
    Es wird weitergeleitet und das PDF wird angezeigt, das Formular wurde jedoch nicht submittet. Wenn ich die Weiterleitung rausnehme, sehe ich, dass das Formular wie gewollt aktualisiert wird. Nur wenn ich eben beides drinn habe funktioniert es nicht.
    Habe ich was falsches überlegt und es kann so nicht funktionieren, oder falscher code oder was auch immer. Mit meinem kleinen Wissen komme ich einfach nicht weiter und bin dankbar wenn mir jemand von euch einen Denkanstoss geben könnte!

    THX & grutz Leon_McKane


  • #2
    Beides sind Weiterleitungen auf andere Seiten. Das widerspricht sich. Wenn du vor 2 Türen stehst, kannst du auch nicht sagen geh zuerst durch Tür A und dann Tür B, denn du bist ja schon in Zimmer A. Du musst wohl erkennen, ob zuletzt submitted wurde (z.B. hidden-Field Flag setzen) und von dort dann zum Druck weiter.

    Kommentar


    • #3
      Ach so!ja, so ist klar dass es nicht funktioniert
      habs jetzt lösen können.

      die function ist jetzt so:
      Code:
      function jawoll()
      {
      	document.bestellung.weiter.value = "tscheck";
      	document.bestellung.submit();
      }
      ein hidden-field:
      Code:
      <input type="hidden" name="weiter" value="">
      und eine php-überprüfung:
      Code:
      if($_POST['weiter'] == 'tscheck')
      {
      	?>
      	<script language="JavaScript" type="text/javascript">
      		window.location.href = "druck.php";
      	</script>
      	<?php
      }
      Ich danke dir!

      Grutz Leon_McKane[/code]

      Kommentar


      • #4
        PHP-Code:
        <?php
        if($_POST['weiter'] == 'tscheck')
        {
          
        header("Location: druck.php");
          exit;
        }
        ?>
        Das ist sauberer.

        (Solltest du einen "header already sent" bekommen, hast du dein Skript schlecht strukturiert, der Check sollte dann ganz nach oben vor jede Ausgabe)

        Kommentar

        Lädt...
        X