首页 > 解决方案 > 如果我的表格不符合条件,为什么会一直发送?

问题描述

我有一个按钮,我删除了 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) 为真,甚至显示“空”的更改,显示后立即发送表单,我不明白为什么

标签: javascriptformssave

解决方案


即使您在单击提交按钮时运行的 JavaScript 也没有提交表单,您的提交按钮也会提交表单。

不要在按钮上使用点击事件。在表单上使用提交事件。

如果不应该提交表单,请阻止默认行为。

$("selector for your form").on("submit", function (event) {
    if (there are problems) {
        event.preventDefault();
    }
});

推荐阅读