javascript - 调用preventDefault()后无法调用submit()

标签 javascript jquery

我尝试在单击提交按钮后验证表单,因此我使用 preventDefault() 阻止表单自动发布和刷新页面。调用 preventDefault() 后,我调用另一个函数进行验证,如下所示:

$("#submit").click(function(e) {

    e.preventDefault();

    validate();

});

这里,#submit 是提交输入元素的 ID。

validate() 结束时,我尝试在表单元素 #homeForm 上调用 submit(),但它没有看起来很火。

validate() {

....

console.log('test'); // this is firing

$('#homeForm').submit();
}

我使用了其他一些 Stack Overflow 答案,包括 this one达到这个解决方案,但我不太确定为什么它不起作用。什么可能阻止 submit() 函数触发?

编辑:我在 HTML 中添加了此表单的一些内容

<form id="homeForm">
....

    <input id="submit" class="submit" type="submit" name="submit" value="Submit" action="javascript:void(0);">
</form>

最佳答案

表格action属性应属于 <form>元素并且应该(可能)引用一个 url

关于javascript - 调用preventDefault()后无法调用submit(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48614832/

相关文章:

javascript - 这个Flash效果可以用js和css重新生成吗?

单击事件上的 JavaScript 不在函数内工作,但在 document.ready() 中工作

javascript - 使用 Javascript 填充 Umbraco 内容表单

javascript - jQuery DataTables Scroller Ajax 没有被第二次调用

javascript - 隐藏 iPhone 键盘顶部的工具栏

javascript - 如何使用切换按钮根据单击哪个按钮显示元素?

javascript - 单击按钮后显示回调

javascript - 查询 Meteor 集合以获取 afQuickField select 的值失败。为什么?

javascript - 管理 Javascript 文件中的事件传播

javascript - 每个表格单元格仅允许一个查询结果