为什么我不能手动提交此表单?

我想在表单提交之前完成一些事情。 以下代码运行没有错误,但我的表单永远不会被提交。 我不知道出了什么问题..

$(function() { $('#submit').click(function (e) { e.preventDefault(); // Do something... $('#weber-form').submit(); }); }

要使以下脚本起作用, 提交按钮的nameid不得为“submit” 。 像这样的按钮将起作用:

  

演示: http : //jsfiddle.net/MYht8/

 $(function() { //we bind to the form instead of the form button //using .on() (jQ1.7+) $('#weber-form').on('submit', function(e) { //prevent form submission e.preventDefault(); //do stuff //use the native submit so we wont trigger //this handler again this.submit(); }); });​ 

document.ready()部分中使用您的代码。 我希望它能奏效!

 $(document).ready(function(){ $('#submit').click(function (e) { e.preventDefault(); // Do something... $('#weber-form').submit(); }); }); 

试试这个。 它应该工作。

$(’#weber-form’)。submit(function(e){

 e.preventDefault(); // Do something... $('#weber-form').submit(); 

});

梦想家约瑟夫很好地解释了这个问题。

您可以使用HTMLFormElement的本机提交方法来解决问题:

 HTMLFormElement.prototype.submit.call($('#weber-form')[0]);