Set a form's action attribute when submitting?

后端 未结 7 1208
情话喂你
情话喂你 2020-12-03 00:45

How do I change a form\'s action attribute right after clicking the submit button?

相关标签:
7条回答
  • 2020-12-03 01:25

    You can also set onSubmit attribute's value in form tag. You can set its value using Javascript.

    Something like this:

    <form id="whatever" name="whatever" onSubmit="return xyz();">
        Here is your entire form
        <input type="submit">
    </form>;
    
    <script type=text/javascript>
    function xyz() {
      document.getElementById('whatever').action = 'whatever you want'
    }
    </script>
    

    Remember that onSubmit has higher priority than action attribute. So whenever you specify onSubmit value, that operation will be performed first and then the form will move to action.

    0 讨论(0)
  • 2020-12-03 01:26
    <input type='submit' value='Submit' onclick='this.form.action="somethingelse";' />
    

    Or you can modify it from outside the form, with javascript the normal way:

     document.getElementById('form_id').action = 'somethingelse';
    
    0 讨论(0)
  • 2020-12-03 01:31

    Attach to the submit button click event and change the action attribute in the event handler.

    0 讨论(0)
  • 2020-12-03 01:36

    HTML5's formaction does not work on old IE browsers. An easy fix, based on some of the responses above, is:

    <button onclick="this.form.action='/PropertiesList';" 
        Account Details </button>
    
    0 讨论(0)
  • 2020-12-03 01:43

    You can try this:

    <form action="/home">
      
      <input type="submit" value="cancel">
      
      <input type="submit" value="login" formaction="/login">
      <input type="submit" value="signup" formaction="/signup">
      
    </form>

    0 讨论(0)
  • 2020-12-03 01:44

    There's a simple way to do this if you only need to support modern browsers: on your submit button, add a formaction="/alternate/submit/url" attribute like so:

    <form>
        [fields]
        <input type="submit" value="Submit to a" formaction="/submit/a">
        <input type="submit" value="submit to b" formaction="/submit/b">
    </form>
    

    It also works on <button> tags.

    The gotcha is that old versions of IE (<10) and the Android Browser (<4.0) do not support it. So, if you need to support older browsers, then the existing JS answers will probably work better for you.

    More info: http://www.wufoo.com/html5/attributes/13-formaction.html

    0 讨论(0)
提交回复
热议问题