防止表单被提交- jquery

Prevent form from being submitted - jquery

本文关键字:jquery 提交 表单      更新时间:2023-09-26

我想检查在点击提交按钮后表单中是否至少有一个复选框被选中,如果没有,用户应该得到消息并且表单不应该被提交,所以我写了这样的代码:

 jQuery(document).ready(function ($) {
    $('#price_quote_create_invoice').click(function () {
       $('.price-quotes-table input[type="checkbox"]').each(function () {
           if ( $(this).is(':checked') ){
                $('#post').submit();
                return false;
           } else {
               alert("You didn't chose any checkbox!");
               return false;
           }
       }) ;
    });
});

但是,在我按下警告框上的ok后,表单确实提交了。

知道为什么会这样吗?

你的代码基本正确。

点击事件返回false,但你真正想做的是停止提交事件。

像这样修改

$('#yourFormId').submit(function(){
  if (!$(this).find('input[type="checkbox"]:checked').length) {
   alert("You didn't chose any checkbox!");
   return false;
  }
});
 alert('You didn't chose any checkbox!');

你有一个额外的逗号在你的警告…

您可以使用event.preventDefault()来完成此操作。eventclick函数的第一个参数。参考