submit()提交表单时,显示警示框

我同事在实现submit()提交表单时,想要页面弹出警示框。

但是折腾了几小时后发现,submit()始终不执行。

她的代码如下:

$(document).ready(function(){
  $("button").click(function(){
    $("form").submit(function(e){
      alert("Submitted");
    });
  });
});

在点击‘button’时,给form表单绑定了一个submit事件,并没有触发表单域的submit事件,自然也就无法执行绑定到submit事件的函数。

在w3c上对submit()方法的定义和用法有着明确的说明:

1.当提交表单时,会发生submit事件。

2.该事件只适用于表单元素。

3.submit()方法触发submit事件,或规定当发生submit事件时运行的函数。

我们需要先触发submit事件,之后再运行绑定到submit事件的函数。

正确写法如下:

$(document).ready(function(){


  $("button").click(function(){
    $("form").submit();
  });

  $("form").submit(function(e){
    alert("Submitted");
  });

});

在点击‘button’时,form表单执行submit方法,从而触发submit事件,执行绑定到submit事件的函数体。

个人拙见,欢迎指正,谢谢。

原文地址:https://www.cnblogs.com/fanyx/p/6541691.html