javascript - 如果我的表格不符合条件,为什么会一直发送?
问题描述
我有一个按钮,我删除了 type="submit"
<button class="btn btn-primary btn-sm" id="save-form"
>Save</button>
我在javascript中添加了一个Onclick函数
$('#save-form').on('click', function (){
let placesArrayEmpty = checkPlacesArrayEmpty();
if (placesArrayEmpty){
$('#alert-empty').show();
setTimeout(function () {
$('#alert-empty').hide();
}, 6000);
}else{
$("#place-form").submit();
}
});
如果输入为空,则此“防止”保存表单,验证完成,if(placesArrayEmpty) 为真,甚至显示“空”的更改,显示后立即发送表单,我不明白为什么
解决方案
即使您在单击提交按钮时运行的 JavaScript 也没有提交表单,您的提交按钮也会提交表单。
不要在按钮上使用点击事件。在表单上使用提交事件。
如果不应该提交表单,请阻止默认行为。
$("selector for your form").on("submit", function (event) {
if (there are problems) {
event.preventDefault();
}
});
推荐阅读
- android - 重用布局时,Android自动填充多次输入相同的信息
- android - 在带有 Kotlin 的 Android 中使用 AutocompleteEditText 和 PlacesAutocomplete Api
- swiftui - 如何在 SwiftUI 按钮中使用布尔值?
- r - 模式匹配和替换——一个或多个相同的模式/字符
- vue.js - 渲染 HTML 中的 V-for 循环
- sql - 子查询返回多个值
- django - IntegrityError:唯一约束失败:usermanager_userprofile.email_address
- reactjs - ReactJs:如何在箭头函数中使用条件
- php - 如何在 Yii 2 中使用模型设置 Bootstrap4 ToggleButtonGroup?
- azure - 如何通过 Terraform 创建多个 VM?