Ergebnis 1 bis 9 von 9

Thema: Formular mittels JS / jQuery submit() absenden

  1. #1
    Contao-Fan
    Registriert seit
    08.07.2009.
    Beiträge
    530

    Standard Formular mittels JS / jQuery submit() absenden

    Besteht die Möglichkeit, ein Formular aus dem Formulargenerator mittels JS / jQuery abzusenden, sobald ein bestimmter Trigger ausgelöst wird? In meinem Fall soll das Formular mehrere definierte Parameter per POST an eine zweite Seite weiterleiten. Anstatt den Prozess mittels Button abzuschließen, soll das möglichst direkt durch die letzte Klick-Aktion erfolgen. Wenn ich mittels jQuery etwas in der Art:

    Code:
    $("#meinElement").click(function() {
          	 $("form").submit();
        });
    hinterlege, funktioniert die Weiterleitung nicht. Besteht eine Möglichkeit, um das im Rahmen der Formular- und Sicherheitslogik von Contao umzusetzen?

  2. #2
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.451
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Funktioniert denn generell das abfangen des Click bzw. das Submitten der Form?

  3. #3
    Contao-Fan
    Registriert seit
    08.07.2009.
    Beiträge
    530

    Standard

    Zitat Zitat von cliffparnitzky Beitrag anzeigen
    Funktioniert denn generell das abfangen des Click bzw. das Submitten der Form?
    Das submit() scheint eingeschränkt zu funktionieren, dieses führt allerdings nur zu einem Relaod des Formulars ohne Übermittlung der Daten.
    Sende ich das Formular manuell per Button ab und wiederhole den Vorgang direkt, dann funktioniert das submit() auch per jQuery inkl. Datenübermittlung und Weiterleitung.

    Vermutlich werden durch den manuellen Klick Session, Token etc. entsprechend verarbeitet, was durch die JS-Funtkion allein nicht möglich ist.
    Daher bleibt die Frage, ob sich das irgendwie technisch realisieren lässt.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Das sollte nicht so sein. Das einzige was bei einem Submit per JavasScript nicht mitgeschickt wird, ist der Wert des Buttons (weil du ja keinen Button klickst). Alles andere sollte exakt gleich sein.
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Fan
    Registriert seit
    08.07.2009.
    Beiträge
    530

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das sollte nicht so sein. Das einzige was bei einem Submit per JavasScript nicht mitgeschickt wird, ist der Wert des Buttons (weil du ja keinen Button klickst). Alles andere sollte exakt gleich sein.
    Vielen Dank für den Hinweis - da beißen sich anscheinend die Option "Pflichtfeld" sowie die Übermittlung per JS bei dem letzten Radio-Button-Container im Formular, welcher als Trigger fungiert.
    Wie kann ich erreichen, dass der Container als Trigger funktioniert und den Wert übergibt?

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Ich verstehe nicht was du mit "Trigger" meinst. Poste einen Link zum Formular.
    » sponsor me via GitHub or PayPal or Revolut

  7. #7
    Contao-Fan
    Registriert seit
    08.07.2009.
    Beiträge
    530

    Standard

    Mit Trigger meine ich, dass dieses Feld in der JS-Funktion genutzt wird. Wenn ich mehrere Radio-Container habe und eine Auswahl im letzten Container soll die Funktion aufrufen, dann wird der Wert aus diesem Container nicht übermittelt.

    HTML-Code:
    <form>
    ...
    <fieldset id="ctrl_1">
     <input type="radio" name="opt1-1" value="opt1-1"><label>Option 1</label>
     <input type="radio" name="opt1-2" value="opt1-2"><label>Option 2</label>
    </fieldset>
    ...
    <fieldset id="ctrl_2">
     <input type="radio" name="opt2-1" value="opt2-1"><label>Option 1</label>
     <input type="radio" name="opt2-2" value="opt2-2"><label>Option 2</label>
    </fieldset>
    </form>
    Code:
    $("#ctrl_2 input").click(function() {
        $("form").submit();
    });
    Liefert auf der Zielseite per POST nur die opt1-X Werte, ich benötige dort aber auch die opt2-X Werte.

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    click ist vermutlich das falsche Event. Du musst wenn dann change nutzen.

    - - - Aktualisiert - - -

    Moderation: Thema verschoben, da es eine allgemein Frage bzgl. HTML Formulare und JavaScript ist und nichts direkt mit Contao zu tun hat.
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Fan
    Registriert seit
    08.07.2009.
    Beiträge
    530

    Standard

    [QUOTE=Spooky;569727]click ist vermutlich das falsche Event. Du musst wenn dann change nutzen.


    Manchmal sind es die Kleinigkeiten ... ich hatte zuerst die Labels als Trigger angesteuert, weshalb onchange() nicht funktioniert hat. In der Kombination input und onchange() funktioniert es jetzt wie gewünscht.
    Vielen Dank!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •