easy: Formulardaten an zwei cgi-scripte übergeben

Hi Leute,

Ich wollte, daß bei einer HTML-Datei die Formalareingaben nicht nur an ein cgi-script gesendet werden sondern auch an ein anders cgi-script.
Also die Eingaben, die im Formular gemacht wurden, sollen an beide cgi-scripts gleichtzeitig per method=POST gesendet werden.
Die erste HTML-Datei, wo ich das einbinden will hat schon den Form-Tag <form method=POST action=http://verzeichnis-zum-cgi-script>

ich kann ja nicht einfach noch eine action reinsetzen, oder!?
Gibts da eine Lösung per Javascript!?

  1. Hi Leute,

    Ich wollte, daß bei einer HTML-Datei die Formalareingaben nicht nur an ein cgi-script gesendet werden sondern auch an ein anders cgi-script.
    Also die Eingaben, die im Formular gemacht wurden, sollen an beide cgi-scripts gleichtzeitig per method=POST gesendet werden.
    Die erste HTML-Datei, wo ich das einbinden will hat schon den Form-Tag <form method=POST action=http://verzeichnis-zum-cgi-script>

    ich kann ja nicht einfach noch eine action reinsetzen, oder!?
    Gibts da eine Lösung per Javascript!?

    kann mir keiner die Frage baentowrten!?
    *verzweifel*

  2. n'Abend.

    Gibts da eine Lösung per Javascript!?

    Durchaus.

    <script type="text/javascript">
    <!--
     function ssf() // send second form
      {
       for(e = 0; e < document.forms[0].elements.length; e++)
        {
         if(document.forms[0].elements[e].type != "submit" && document.forms[0].elements[e].type != "reset")
          {
           document.forms[1].elements[e].value = document.forms[0].elements[e].value;
          }
        }
       document.forms[1].submit();
      }
    //-->
    </script>
    <form action="erstes_cgi_dingen" method="post" onsubmit="ssf()">
    <input><br>
    <input><br>
    <input type="submit">
    <input type="reset">
    </form>
    <form action="zweites_cgi_dingen" method="post" target="_blank">
    <input type="hidden">
    <input type="hidden">
    </form>

    Im zweiten <form> müssen genauso viele versteckte <input>s sein, wie im ersten <input>s sind. Wird das erste Formular abgeschickt, werden die Daten in die Versteckten kopiert und danach abgeschickt.
    Probier eben aus, ob's für deine Zwecke zu gebrauchen ist.

    Gruß
    Norbert

    1. n'Abend.

      Gibts da eine Lösung per Javascript!?

      Durchaus.

      <script type="text/javascript">
      <!--
      function ssf() // send second form
        {
         for(e = 0; e < document.forms[0].elements.length; e++)
          {
           if(document.forms[0].elements[e].type != "submit" && document.forms[0].elements[e].type != "reset")
            {
             document.forms[1].elements[e].value = document.forms[0].elements[e].value;
            }
          }
         document.forms[1].submit();
        }
      //-->
      </script>
      <form action="erstes_cgi_dingen" method="post" onsubmit="ssf()">
      <input><br>
      <input><br>
      <input type="submit">
      <input type="reset">
      </form>
      <form action="zweites_cgi_dingen" method="post" target="_blank">
      <input type="hidden">
      <input type="hidden">
      </form>

      Im zweiten <form> müssen genauso viele versteckte <input>s sein, wie im ersten <input>s sind. Wird das erste Formular abgeschickt, werden die Daten in die Versteckten kopiert und danach abgeschickt.
      Probier eben aus, ob's für deine Zwecke zu gebrauchen ist.

      Gruß
      Norbert

      cool.....werd ich gleich mal ausprobieren

      Vielen Dank!!!

    2. n'Abend.

      Gibts da eine Lösung per Javascript!?

      Durchaus.

      <script type="text/javascript">
      <!--
      function ssf() // send second form
        {
         for(e = 0; e < document.forms[0].elements.length; e++)
          {
           if(document.forms[0].elements[e].type != "submit" && document.forms[0].elements[e].type != "reset")
            {
             document.forms[1].elements[e].value = document.forms[0].elements[e].value;
            }
          }
         document.forms[1].submit();
        }
      //-->
      </script>
      <form action="erstes_cgi_dingen" method="post" onsubmit="ssf()">
      <input><br>
      <input><br>
      <input type="submit">
      <input type="reset">
      </form>
      <form action="zweites_cgi_dingen" method="post" target="_blank">
      <input type="hidden">
      <input type="hidden">
      </form>

      Im zweiten <form> müssen genauso viele versteckte <input>s sein, wie im ersten <input>s sind. Wird das erste Formular abgeschickt, werden die Daten in die Versteckten kopiert und danach abgeschickt.
      Probier eben aus, ob's für deine Zwecke zu gebrauchen ist.

      Gruß
      Norbert

      sorry..ich nochmal.....bin nicht gerade gewandt in javascript.
      muss ich für forms[] und elements[] etwas bestimmtes einsetzen!?
      und bei diesem Beispiel ruft doch das submit die zweite cgi auf. Ist es möglich die erte aufzurufen und nur die Daten an die zweite weiterzugeben.
      Ich weiß.....das sind viele Fragen auf einmal! :(

      1. Hallo.

        muss ich für forms[] und elements[] etwas bestimmtes einsetzen!?

        Nö, solange nur die zwei <form>-tags vorhanden sind, musst du das nicht nicht.

        und bei diesem Beispiel ruft doch das submit die zweite cgi auf.

        Beim Klick auf den Submit-Button wird das erste aufgerufen und das Skript schickt dann die in die versteckten Felder kopierten Daten an das Zweite. Wobei das Zweite in einem neuen Fenster geöffnet wird.

        Ist es möglich die erte aufzurufen und nur die Daten an die zweite weiterzugeben.

        Weiß nicht genau, ob das Ganze auch übergeben wird, wenn du das target="_blank" weglässt, versuch's einfach mal.

        Gruß
        Norbert