如果表单无效,是否调用提交
Does submit get called if form is invalid?
我想知道如果我的表单数据在 html5 验证中无效,是否调用 submit。例如,我有一个表单 ID personal_info。
我使用以下块来进入提交事件:
$("#personal_info").submit(function(event) {
event.preventDefault();
saveData("personal_info");
});
function saveData(formName){
console.log("test");
}
是函数 saveData 在提交时调用的默认行为,因为即使我的表单无效,也会调用该函数。
如何防止表单无效时调用提交函数?
除非您在表单上使用 novalidation
属性,否则新的 HTML5 验证 API 不会提交无效表单。有关详细信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/Data_form_validation。
It works but should on submit be called if the form is not valid.
每当提交表单 #personal_info 时,提交功能都会运行。
提交函数可能未运行的原因是因为这行
event.preventDefault();
这可以防止发生默认操作,即提交表单。因此,表单不会正常提交,因此您的网页不会重新加载/刷新。
即使表单无效,也可以调用提交。这没什么不对。按照代码在问题中的方式,saveData 函数设置为每次运行,即使它无效。因此,我们可以改变这种情况。
就像 A. Wolff 在评论中所说的那样,你可以在调用 saveData 函数时用一个 if 语句来包装。
所以你可以让你的代码看起来像这样
$("#personal_info").submit(function(event) {
event.preventDefault();
if ($(this).valid()) { // if form is valid
saveData("personal_info"); // then do this
}
});
function saveData(formName){
console.log("test");
}
相关文章:
- 如何在 API 调用后和 if 语句中启用提交按钮
- angularjs-控制器在表单提交时未调用
- 为什么我的ajax在提交用@HtmlRenderPartial加载的表单时只调用fire一次
- 调用DOM提交方法时未激发jQuery提交事件
- 父操作可防止在 ember.js 中调用提交操作
- BootStrap Django Jquery Modal在Ajax调用提交时未关闭
- 如何使用 jquery ajax 调用提交表单时更改表单操作
- 如果表单无效,是否调用提交
- 表单提交和javascript函数调用提交按钮点击在spring mvc
- 我可以从 Vuex 存储中的突变之一调用提交吗?
- 不显眼的验证甚至在我的javascript调用提交之前就失败了
- 如何在代码编写器中调用提交函数
- 我如何做一个ajax调用提交,并确保html5验证也发生
- 递归地调用提交的JQuery表单
- 解析HTML并使用jquery调用提交按钮
- 从jquery调用提交按钮函数
- 通过原型 Ajax 调用提交二进制数据
- JQuery:通过 AJAX 调用提交包含多个字段的表单
- 条形码阅读器调用提交函数在我的形式
- 使用javascript提交数据,而不是调用提交按钮