Search code examples
javascripthtmlajaxformssubmit

Want HTML form submit to do nothing


I want an HTML form to do nothing after it has been submitted.

action=""

is no good because it causes the page to reload.

Basically, I want an Ajax function to be called whenever a button is pressed or someone hits Enter after typing the data. Yes, I could drop the form tag and add just call the function from the button's onclick event, but I also want the "hitting enter" functionality without getting all hackish.


Solution

  • By using return false; in the JavaScript code that you call from the submit button, you can stop the form from submitting.

    Basically, you need the following HTML:

    <form onsubmit="myFunction(); return false;">
        <input type="submit" value="Submit">
    </form>
    

    Then the supporting JavaScript code:

    <script language="javascript"><!--
        function myFunction() {
            // Do stuff
        }
    //--></script>
    

    If you desire, you can also have certain conditions allow the script to submit the form:

    <form onSubmit="return myFunction();">
        <input type="submit" value="Submit">
    </form>
    

    Paired with:

    <script language="JavaScript"><!--
        function myFunction() {
            // Do stuff
            if (condition)
                return true;
    
            return false;
        }
    //--></script>