我如何阻止一个表单提交使用jquery?

我尝试了所有的方法——看看下面我尝试过的3种不同的方法,但都不起作用:

    $(document).ready(function() { 

            //option A
            $("#form").submit(function(e){
                e.preventDefault();
            });

            //option B
            $("#form").submit(function(e){
                stopEvent(e);
            });

            //option C
            $("#form").submit(function(){
                return false;
            });
    });

会有什么问题呢?

更新-这是我的html:

    <form id="form" class="form" action="page2.php" method="post"> 
       <!-- tags in the form -->
       <p class="class2">
           <input type="submit" value="Okay!" /> 
       </p>
    </form>

这里有什么问题吗?


当前回答

防止提交表单数据后再发布。

  $("form").on("submit", function (e) {
   e.preventDefault();
   alert('Ok');
   $( this ).unbind( 'submit' ).submit(); // Release 
  });

它的工作

其他回答

我也遇到过同样的问题,我用这种方法解决了(虽然不优雅,但很有效):

$('#form').attr('onsubmit','return false;');

在我看来,它的优势在于,你可以在任何你想要的时候还原这种情况:

$('#form').attr('onsubmit','return true;');

您忘记了表单id,它就工作了

$('form#form').submit(function(e){
   e.preventDefault();
   alert('prevent submit');             
});

这似乎也有效,而且可能更简单:

$('#Form').on('submit',function(){
    return false;
})

当我使用<form>标签没有属性id="form",并直接在jquery中调用它的标签名称时,它与我一起工作。 你的代码在HTML文件:

<form action="page2.php" method="post">

Jquery脚本:

$(document).ready(function() {
      $('form').submit(function(evt){
          evt.preventDefault();// to stop form submitting
      });
 });

防止提交表单数据后再发布。

  $("form").on("submit", function (e) {
   e.preventDefault();
   alert('Ok');
   $( this ).unbind( 'submit' ).submit(); // Release 
  });

它的工作