Ankündigung

Einklappen
Keine Ankündigung bisher.

mit Javascript ein POST Formular ausfüllen und absenden

Einklappen

Neue Werbung 2019

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

  • mit Javascript ein POST Formular ausfüllen und absenden

    Hallo,
    mit "<a href ..httpLINK.... target="_blank""; .... kann ich ja "problemlos" einen Link auf einer Webseite anzeigen.
    Ein click öffnet die neue Seite.

    Jetzt will ich aber dabei zusätzlich ein paar POST Felder auf dieser aufgerufenen Seite ausfüllen und das Formular absenden.
    GET kann ich nicht nehmen.

    Ich dazu alles mögliche gefunden und man muss wohl GET nehmen oder JS und die Seite quasi "manuell" ausfüllen.
    Da gibt es ja diverse Sachen zu, aber irgendwie komme ich da nicht mit zurecht.

    Kann mir einer eine Seite sagen wo das nach Stand der Technik(Browser) erklärt wird oder ein einfaches Beispiel posten.

    Danke
    Gruss
    Thomas



    Gruss
    Thomas

  • #2
    Hi,

    Entscheidend ist für Dich das Ziel ( action-Attribut ) des Formular. Wenn Du das kennst, kannst Du direkt mit PHP und cURL Daten per POST an das Script senden.
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      Ja JS brauchst Du für POST request wenn Du Deine Seite dazu nicht verlassen willst.

      Mit jQuery machst Du das z.B. über $.post(…)

      Und Du füllst natürlich auch kein Formular aus sondern schickst nur den Request den das Formular sonst schicken würde. Must Du halt selbst rausfinden wie der Request auszusehen hat (welche Felder übermittelt werden sollen)

      Je nach dem um was es dabei geht must Du dann möglicherweise auch die Antwort (response) auswerten.
      PHP-Manual ¡ mysql_* ist veraltet ¡ Debugging: Finde DEINE Fehler selbst ¡ Passwort-Hashing ¡ Prepared Statements

      Kommentar


      • #4
        Hallo,
        irgendwie bekomme ich das nicht hin.
        Ich starte erst eine neue Seite mit
        # "<a href ..httpLINK.... target="_blank""; ....
        und da will ich dann die Felder ausfüllen und den "Button" drücken.
        Ich habe da schon einiges gesucht aber das funktioniert alles nicht richtig.
        Hat nicht jemand einen Link wo das nochmal diskutiert wird.
        Ich gebe ja zu, von JS habe ich wenig Ahnung..
        Gruss






        Kommentar


        • #5
          Der JavaScript-Code muss natürlich in der Seite eingebunden werden, in der sich das Formular befindet. Wie du auf diese Seite verlinkst ist uninteressant.

          Kommentar


          • #6
            Tut mir leid wenn ich es nicht verstehe, ich habe diesen Code, ausgelösst durch einen Buttondruck.

            <?php
            $link = 'http://www.google.de';
            $linktext = 'Google';
            print "<a href="" . $link . "" target="_blank">". $linktext . "</a>";
            return;
            ?>

            Wie kann ich hier POST Werte mitgeben und ENTER drücken, bei GET wäre es ja wirklich einfach.

            Gruss
            Thomas

            Kommentar


            • #7
              Zitat von Tmphp Beitrag anzeigen
              T
              <?php
              $link = 'http://www.google.de';
              $linktext = 'Google';
              print "<a href="" . $link . "" target="_blank">". $linktext . "</a>";
              return;
              ?>

              Wie kann ich hier POST Werte mitgeben und ENTER drücken, bei GET wäre es ja wirklich einfach.
              Gar nicht. POST ist dafür einfach nicht gedacht. Wenn du mit POST Daten abschickst, dann hast du in aller Regel ein Formular und die Empfangsseite ist ein Server wo die Daten ausgewertet werden, Danach sendet der Server an den Browser irgendwas zurück.

              Am Besten schaust du mal wie das mit dem HTT-Protokoll funktioniert, damit du ein Verständnis für die technischen Abläufe erhältst.

              Lesestoff zu POST und GET
              http://www.selfphp.de/praxisbuch/pra...e=183&group=32
              http://php.net/manual/de/language.va...s.external.php

              Kommentar


              • #8
                Zitat von protestix Beitrag anzeigen
                Gar nicht.
                Etwas mehr Kreativität bitte

                Ich hatte das Stück Code noch hier rumliegen, heute würde ich es ohne innerHTML machen und direkt mit
                .createElement eine Form erstellen....

                HTML-Code:
                <!doctype html>
                <html lang="en">
                <head>
                   <meta charset="UTF-8">
                   <title>Document</title>
                </head>
                <body>
                   <a href="#" class="post" data-variable="abc">Klick mich</a>
                <script>
                document.querySelector('a.post').onclick = function(e){
                   e.stopPropagation();
                   e.preventDefault();
                   var wert=this.getAttribute("data-variable");
                   document.body.innerHTML+='<form id="meineForm" action="'+
                   this.href +
                   '" method="post">'+
                   '<input type="hidden" name="variable" value="' +
                   this.getAttribute("data-variable") +
                  ' "></form>';
                   meineForm.submit();
                }
                </script>
                </body>
                </html>

                Kommentar


                • #9
                  Hallo,
                  danke für die Info!

                  Danke, und was ist wenn in der aufgerufenen Seite hidden Werte drin sind, die müsste ich ja beim download der neuen Seite erst lesen um sie dann wieder in die from reinschreiben zu können.

                  Gruss

                  Kommentar


                  • #10
                    Ja und, dann mach das doch... woher sollen wir hier wissen wie Deine Seite aussieht.

                    Kommentar

                    Lädt...
                    X