Fluid forms

  • 0 x
    63 Beiträge
    2 Hilfreiche Beiträge
    26. 06. 2013, 23:11

    mal 'ne ganz blöde (Anfänger?)Frage:

    Den Viewshelper <f:form.submit>, wie kann man diesen möglichst einfach sagen, an welche Adresse die E-Mail gehen soll?

    Vielen Dank und beste Grüße
    Carsten


  • 1
  • harald1972 harald197...
    Sternenflotten-Admiral
    0 x
    198 Beiträge
    13 Hilfreiche Beiträge
    27. 06. 2013, 09:49

    Hallo Carsten,

    der submit-button löst die action aus, die im Formular definiert ist.

    1. <f:form action="hierSollWasGeschehen">
    2. <f:form.submit value="Do something" />
    3. </f:form>

    Der Submit-Button ist ja nur der Link auf die Action, die ausgelöst werden soll.
    Also muss die ausgelöste Action deine E-Mail-Adresse (oder was auch immer) wissen.
    Wenn diese konstant ist (z.B. immer info@my-website.de), musst du die sowieso nicht übergeben, sondern machst dir eben eine Konstante.

    Ansonsten solltest du wohl arguments verwenden. Okay, das kann dann glaub in den Submit-VH.

    1. <f:form.submit value="Do something" arguments={email:"info@my-website.de"} />

    Das war jetzt nur mal aus der Hüfte geschossen. Aber wenn ich die Anfrage richtig verstehe, sollte das ungefähr so gehen.

    Achja... nochwas... irgendwas fehlt mir in deiner Frage... Submit-Button und E-Mail haben zuerst mal nichts miteinander zu tun. Anders gesagt: Der Submit-Button ist Teil des Formulars. Was aus dem Formular heraus geschieht (Email, DB,...) ist dann Sache der Action, die aufgerufen wird.

    Harald

  • 0 x
    9 Beiträge
    0 Hilfreiche Beiträge
    27. 06. 2013, 09:50

    Hi Carsten,

    der ViewHelper macht nichts anderes als HTML zu generieren, welches dann im Browser angezeigt wird. Wenn Du eine herkömmliche Webseite bastelst (also nur HTML/CSS), dann schreibst Du ja auch die E-Mail-Adresse nicht in das <input type="submit" />, da gehörts ja auch gar nicht hin. Du hast nun 3 Möglichkeiten:
    1. Du lässt Dein Formular mit Hilfe des Standard-Mail-Client des Users versenden (<form action="mailto:...)
    2. Du schickst das Formular an eine submitAction und regelst den Mailversand dort.
    3. Du versendest das Formular mit Ajax.

    Die erste Variante würde ich absolut NICHT empfehlen, bzw sogar davon abraten. Ob Du 2. oder 3. umsetzt ist letztendlich egal. Wenn Du nur 3. umsetzt, hast Du ein Problem mit Besuchern, die kein JavaScript verwenden. Daher würde ich sogar 2. in Kombination mit 3. empfehlen (per JS/preventDefault das Absenden des Formulars verhindern).

    Hoffe ich konnte ein bisschen weiterhelfen.

    Viele Grüße aus der Hauptstadt,
    Karl

  • 0 x
    63 Beiträge
    2 Hilfreiche Beiträge
    27. 06. 2013, 14:51

    Hallo,

    hui, gleich zwei Antworten :-)

    Ich werde alle VArianten mal ausprobieren...

    Vielen Dank
    CArsten

  • harald1972 harald197...
    Sternenflotten-Admiral
    0 x
    198 Beiträge
    13 Hilfreiche Beiträge
    27. 06. 2013, 17:17

    Ich nochmal ;)

    hab Variante 2 gemeint.
    Das wäre (um meinen Post weiterzustricken) die [b]hierSollWasGeschehen[/b]Action.
    Wie du die Action nennst, bleibt ja deine Sache. Du musst es nur durchgängig machen.

    Grüße aus dem Süden
    Harald

  • 1