wake-up-neo.com

Wie kann ich eine Formularaktion über JavaScript festlegen?

Ich habe ein HTML-Formular, dessen Aktion durch JavaScript dynamisch festgelegt werden sollte. Wie mache ich es? Folgendes versuche ich zu erreichen:

<script type="text/javascript">
function get_action() { // inside script tags
 return form_action;
 }
</script>

<form action=get_action()>
...
</form>
45
umar

Sie können JavaScript-Funktionen nur in onXXX in Standard-HTML-Attributen aufrufen. Weisen Sie es einfach während des Fensterladens zu.

<script type="text/javascript">
    window.onload = function() {
        document.myform.action = get_action();
    }

    function get_action() {
        return form_action;
    }
</script>

<form name="myform">
    ...
</form>

Sie sehen, dass ich dem Formular eine name gegeben habe, damit es in document leicht zugänglich ist.

Alternativ können Sie es auch während eines submit-Ereignisses tun:

<script type="text/javascript">
    function get_action(form) {
        form.action = form_action;
    }
</script>

<form onsubmit="get_action(this);">
    ...
</form>
63
BalusC

Einfaches JavaScript:

document.getElementById('form_id').action; //Will retrieve it

document.getElementById('form_id').action = "script.php"; //Will set it

JQuery verwenden ...

$("#form_id").attr("action"); //Will retrieve it

$("#form_id").attr("action", "/script.php"); //Will set it
54
Rabbott

Sehr einfache Lösung mit jQuery:

$('#myFormId').attr('action', 'myNewActionTarget.html');

Deine Form:

<form action=get_action() id="myFormId">
...
</form>
6
Piyush
document.forms[0].action="http://..."

... vorausgesetzt, es ist das erste Formular auf der Seite.

Tun Sie, wie Rabbott sagt, oder wenn Sie jQuery ablehnen:

<script type="text/javascript">
function get_action() { // inside script tags
  return form_action;
}
</script>

<form action="" onsubmit="this.action=get_action();">
...
</form>
1
svinto

Wenn wir das wollen, wollen wir die Aktion ändern, je nachdem, auf welche Schaltfläche wir drücken.
Hier müssen Sie nicht einmal name oder id dem Formular zuweisen. Verwenden Sie einfach die form-Eigenschaft des angeklickten Elements:

<form action = "/default/page" >
    <input type=submit onclick='this.form.action="/this/page";' value="Save">
    <input type=submit onclick='this.form.action="/that/page";' value="Cancel">
</form>
1
Eugen Konkov

Formularaktion nach Auswahl der Option mithilfe von JavaScript festlegen

<script>
    function onSelectedOption(sel) {
        if ((sel.selectedIndex) == 0) {
            document.getElementById("edit").action =
            "http://www.example.co.uk/index.php";
            document.getElementById("edit").submit();
        }
        else
        {
            document.getElementById("edit").action =
            "http://www.example.co.uk/different.php";
            document.getElementById("edit").submit();
        }
    }
</script>

<form name="edit" id="edit" action="" method="GET">
    <input type="hidden" name="id" value="{ID}" />
</form>

<select name="option" id="option" onchange="onSelectedOption(this);">
    <option name="contactBuyer">Edit item</option>
    <option name="relist">End listing</option>
</select>
0
Michael Stokes