onsubmit refresh html form

前端 未结 5 639
春和景丽
春和景丽 2021-01-12 00:54

I\'m trying to use Javascript to submit the form\'s data. Here\'s the html.

//input fields here
相关标签:
5条回答
  • 2021-01-12 00:57

    Since you added the jQuery tag, this it the best way to do this:
    unobtrusive event attach

    $('form').submit(function(){
            alert('the form was submitted');
            return false;
        });
    

    In your's way it should be;

    <form onsubmit="return post();">
    
    0 讨论(0)
  • 2021-01-12 00:59

    Keep your js out of the DOM.

    <form id="myform" action="somepage.php" method="post">
    //input fields
    </form>
    

    JQuery:

    $('#myform').submit(function(event){
        alert('submitted');
        event.preventDefault();
    });
    
    0 讨论(0)
  • 2021-01-12 01:08

    Since this post is tagged with jQuery, I'll offer the following solution:

    $('form').submit(function(e){
      //prevent the form from actually submitting.
      e.preventDefault();
      //specify the url you want to post to.
      //optionally, you could grab the url using $(this).attr('href');
      var url = "http://mysite.com/sendPostVarsHere";
      //construct an object to send to the server
      //optionally, you could grab the input values of the form using $(this).serializeArray()
      var postvars = {};
      //call jquery post with callback function
      $.post(url, postvars, function(response){
        //do something with the response
        console.log(response);
      }, 'json')
    });
    
    0 讨论(0)
  • 2021-01-12 01:14

    You need to actually return false from your inline dom-0 handler. So change

    onsubmit = "post();">
    

    to

    onsubmit = "return post();">
    

    Or you could give your form an id and do this:

    <form id="form1" onsubmit = "post();">
    

    Then from a safe location in which your dom is ready:

    document.getElementById("form1").onsubmit = post;
    
    0 讨论(0)
  • 2021-01-12 01:15

    You will have to put the return false part after the post() function in the onsubmit handler, like so:

    <form onsubmit="post();return false;">
    //input fields here
    </form>
    
    0 讨论(0)
提交回复
热议问题