MrLumia: Form action dynamische url aus Textfeld

Hallo Zusammen, ich benötige für ein Formular folgende Hilfe. Der Wert für "Action" soll aus dem "hidden" Textfeld mit der Bezeichnung "actionlink" gelesen/verwendet werden. Wie kann ich so etwas hinbekommen.

<body>
	<form action="(Wert aus Testfeld mit der Bezeichnung  = link)" method="post">
                <input type="hidden" name="actionlink" value="http://www.musterlink.de" />
		<input id="Submit1" runat="server" type="submit" value="submit" />
	</form>
</body>

  1. @@MrLumia

    Hallo Zusammen, ich benötige für ein Formular folgende Hilfe. Der Wert für "Action" soll aus dem "hidden" Textfeld mit der Bezeichnung "actionlink" gelesen/verwendet werden. Wie kann ich so etwas hinbekommen.

    <body>
    	<form action="(Wert aus Testfeld mit der Bezeichnung  = link)" method="post">
                    <input type="hidden" name="actionlink" value="http://www.musterlink.de" />
    		<input id="Submit1" runat="server" type="submit" value="submit" />
    	</form>
    </body>
    
    
    1. Du schickst das Formular zu deinem Server, der den Wert des Feldes actionlink auswertet und entsprechend weiterleitet.

      oder

    2. Mit JavaScript. Mit allen Nachteilen, die das mit sich bringt.

      Aber warum das Ganze?

    3. Warum schreibst du den URI nicht direkt ins action-Attribut?

    Für Buttons gibt es in HTML seit langem das button-Element: <button id="Submit1" type="submit">submit</button>

    runat="server"? Wozu soll das gut sein? Ich konnte solch ein Attribut in keiner Spec finden.

    LLAP 🖖

    --
    “The best way to help people learn: answer their coding question an hour later, they’ll have likely figured it out by then.” —Todd Motto
    Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
    1. [Vollzitat entfernt]

      Danke für deine Antwort. Das runat="Server" ist versehentlich in den Code gelangt. Dies stammt von der ASP.net Seite.

      Das Formular wird von einer Fremdsoftware gefüllt. Diese Software übermittelt den Actionlink in das Textfeld. Ich muss mein Formular an diesen Link weitersenden. Und da ich so etwas noch nie gemacht habe, fehlt mir hier noch eine Lösung.

      1. Wenn es asp.net ist, dann guck Dir gut an was da noch drumherum an HTML und Script generiert wird. Mit Webforms muss man kooperieren, sonst geht nix.

        Du kannst aber auch serverseitig im Load-Event des Webform auf den Postback reagieren und einen Response.Redirect machen.

        Rolf

        1. Wenn es asp.net ist, dann guck Dir gut an was da noch drumherum an HTML und Script generiert wird. Mit Webforms muss man kooperieren, sonst geht nix.

          Du kannst aber auch serverseitig im Load-Event des Webform auf den Postback reagieren und einen Response.Redirect machen.

          Rolf

          Hallo Rolf,

          vielen Dank. Ja das stimmt bei ASP.net wird noch viel Drumherum generiert. Das bei dem Submit noch "runat=Server" drin stand, war ein versehen. Die Seite, das Formular läuft rein auf HTML. Daher brauche ich hier eine Lösung für HTML.

      2. @@MrLumia

        Das Formular wird von einer Fremdsoftware gefüllt. Diese Software übermittelt den Actionlink in das Textfeld.

        Das geschieht wann und wie? (*)

        Ich muss mein Formular an diesen Link weitersenden. Und da ich so etwas noch nie gemacht habe, fehlt mir hier noch eine Lösung.

        Ich hatte dir zwei genannt.

        Die zweite könnte sein, auf das submit-Event des Formulars zu lauschen, die Standardaktion mit preventDefault() zu vehindern, das action-Attribut mit dem Wert aus dem hidden field zu füllen und das Formular per JavaScript abzuschicken.

        Je nach Antwort auf obige Frage (*) könnte es sich aber auch darauf beschränken, das action-Attribut mit dem Wert aus dem hidden field zu füllen.

        Wenn aus irgendeinem Grund kein JavaScript geladen/ausgeführt wird, wäre das Formular dann nicht bedienbar. Deshalb solltest du zumindest als Fallback auch die erste genannte Lösung in Erwägung ziehen:

        Du schickst das Formular an deinen Server; das verarbeitende Script wertet den Wert aus dem hidden field aus und leitet die Nutzereingaben zu dem entsprechenden Server weiter.

        LLAP 🖖

        --
        “The best way to help people learn: answer their coding question an hour later, they’ll have likely figured it out by then.” —Todd Motto
        Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
    2. Hallo Gunnar Bittersmann,

      Für Buttons gibt es in HTML seit langem das button-Element: <button id="Submit1" type="submit">submit</button>

      und ‚submit‘ ist auch noch der Default-Type.

      Bis demnächst
      Matthias

      --
      Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
  2. @@MrLumia

    Noch was:

                    <input type="hidden" name="actionlink" value="http://www.musterlink.de" />
    

    Für Beispieldomains verwende bitte eine der nach BCP 32 dafür vorgesehenen (wie bspw. example.net).

    LLAP 🖖

    --
    “The best way to help people learn: answer their coding question an hour later, they’ll have likely figured it out by then.” —Todd Motto
    Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|