Jingle: 2 forms übertragen (submit)

Hi zusammen,

ich habe folgendes Problem, ich habe eine html-Seite mit einigen Formularfelder.
Diese Felder teilen sich in zwei Formulare (forms[0] und forms[1]) auf und haben somit auch jeweils einen Submit-Button.

Wird der Button von forms[0] gedrückt, wird über eine JS-Funktion geprüft, ob alle Felder in diesem Formular ausgefüllt sind, anschließend wird das Formular mit document.forms[0].submit() übertragen.
Das funktioniert auch einwandfrei.
Wenn ich aber jetzt auf den Button des zweiten Formulares(forms[1]) drücke, sollen sowohl forms[0] als auch forms[1] übertragen werden. Bei klick auf den Button werden alle Felder in beiden Formularen überprüft (funktioniert auch) und im Idealfall sollten jetzt über JS beide Formulare abgeschickt werden.

{
    document.forms[0].submit();
    document.forms[1].submit();
}

funktioniert natürlich nicht, es wird nur das erste Formular übertragen.

Jetzt meine Frage:

Ist es möglich, über JavaScript zwei Formulare zu übertragen und wenn ja, kennt vielleicht jemand eine Methode oder Funktion dafür?

Es wäre zwar möglich, wenn ich im zweiten Formular ein verstecktes Textfeld habe, in welches die JS-Funktion alle Werte von Formular 1 einträgt und dann nur forms[1] überträgt. Ich müsste dann auf der nächsten Seite die Werte in dieser Variablen splitten aber ich hoffe das es eine "saubere" Möglichkeit gibt.

Vielen Dank im vorraus.
Gruß Jingle

  1. Ist es möglich, über JavaScript zwei Formulare zu übertragen und wenn ja, kennt vielleicht jemand eine Methode oder Funktion dafür?

    Nein. Entweder mußt Du tatsächlich für alle Elemente des ersten Formulars hidden-Fields anlegen und per JS füllen, oder per JS fröhlich das DOM parsen und Knoten kopieren.

  2. Hallo wie immer du heißt,

    Ist es möglich, über JavaScript zwei Formulare zu übertragen und wenn ja, kennt vielleicht jemand eine Methode oder Funktion dafür?

    das glaube ich nicht, aber kannst Du nicht ein einziges Formular machen und den ersten Button nur als type="button", mit dem du per JS nur die ersten Felder überprüfst und entsprechend mit dem zweiten Button verfahren?

    Es wäre zwar möglich, wenn ich im zweiten Formular ein verstecktes Textfeld habe, in welches die JS-Funktion alle Werte von Formular 1 einträgt...

    geht das, in ein Hidden-Feld mit .value etwas eintragen?

    Gruß, Andreas

    1. Hi Andreas,

      geht das, in ein Hidden-Feld mit .value etwas eintragen?

      ja, sogar sehr gut. (Nur in type="file" kann man nichts reinschreiben)

      ;)

      ciao
      romy

  3. wenn du das eine formular in einen iframe setzt, oder dessen werte beim versenden in ein formular in einem solchen kopierst und das zuerst absendest, könnte das was werden.

    grüsse, raik

  4. {
        document.forms[0].submit();
        document.forms[1].submit();
    }

    funktioniert natürlich nicht, es wird nur das erste Formular übertragen.

    Jetzt meine Frage:

    Ist es möglich, über JavaScript zwei Formulare zu übertragen und wenn ja, kennt vielleicht jemand eine Methode oder Funktion dafür?

    Erstmal kannst du mit 99%iger Sicherheit davon ausgehen, das deine CGI Anwendnung nicht 100% durchdacht ist, wenn du der Meinung bist 2 Formulare zu brauchen. Das widerspricht jeglicher Logik sowohl auf Anwender- als auch auf der Skriptseite.

    Falls du aber sicher bist zu den 1% wo es vielleicht nötig sein könnte (ich wüßte nicht warum), versuch mal beiden Formularen ein unterschiedliches Target zu zuweisen.

    Struppi.