表单在开始后不会阻止默认

时间:2019-06-18 05:07:32

标签: jquery ajax

我尝试使用bootstrap4项目在我的代码点火器中用不同的步骤编写公式。

所以我创建了一个表单:

<form id="myform" class="myform" action="#">
    ...
    <button type="submit">submit</button>
</form>

这是我的js代码:

$(document).ready(function(){
$(".myform").on("submit", function (event) 
    {
        console.log('submit .myform');
        event.preventDefault();
        ajax_call($(this).serialize(),'myform');
    });
});

"ajax_call"是用于发送数据和处理结果的功能-此功能已经可以正常工作。

我的问题有点简单,但我无法解决。

如果我发送第一个表格,则控制台中将显示日志消息"submit .myform",该表格将不会提交并且ajax_call-function正在运行。

结果是,我得到了相同的(新的)公式,并带有来自验证的一些错误消息。

因此,如果我想再次发送此表单,该表单将被提交,并且"$(".myform").on("submit", function (event) ..."代码将无法正常工作。

也许是授权问题?但是为此,我在js代码中使用了".on"

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您没有在进行委派,您需要将第一个选择器绑定到静态元素,并且on函数的第二个参数应为表单选择器

$("body").on("submit", ".myform", function (event)