如何使用JQUERY停止表单提交?

如何使用JQUERY停止表单提交?,jquery,Jquery,我有一个表格,里面有很多复选框。用户将选中一个或多个复选框,然后单击“删除”按钮(实际上是“提交”按钮),然后删除所选复选框的相应记录 所需操作步骤如下:- 当用户选择一个或多个复选框并单击submit按钮时,将执行JQUERY代码,其中 它应该检查是否选中了任何复选框;若否,;然后,is显示警告消息,不提交表单 如果发现选中了一个或多个复选框,则应使用有关确认删除的确认警报框要求用户进行确认 如果用户按下确认框上的YES按钮,则应使用javascript提交语句提交表单 如果用户按下“否”按钮

我有一个表格,里面有很多复选框。用户将选中一个或多个复选框,然后单击“删除”按钮(实际上是“提交”按钮),然后删除所选复选框的相应记录

所需操作步骤如下:-

当用户选择一个或多个复选框并单击submit按钮时,将执行JQUERY代码,其中

  • 它应该检查是否选中了任何复选框;若否,;然后,is显示警告消息,不提交表单
  • 如果发现选中了一个或多个复选框,则应使用有关确认删除的确认警报框要求用户进行确认
  • 如果用户按下确认框上的YES按钮,则应使用javascript提交语句提交表单
  • 如果用户按下“否”按钮,则应取消选中选中的复选框,并且不应提交表单
  • 这是我编写的JQUERY代码

    $(document).ready(function () {
        $("#id_delete").click(function() {
            var temp = $("#id_frm input:checkbox:checked");
            var len = temp.length;
    
            if(len==0) {
                alert("Please select the order.");
            } else {
                if (confirm("Are you sure to delete the selected orders.")) {
                    $("#id_frm").submit();
                } else {
                    temp.checked=false;
                }
            }
        });     
    });
    
    问题:

    此代码工作不正常。在这里 1.如果未选中复选框,则提交表单。 2.当用户在“确认”对话框中按“否”按钮时,它将提交表单

    我只想在按钮点击事件上写这段代码


    请在这个问题上指导我的朋友。

    这里是一般模式

    $('form').submit(function () { 
        // return true to submit, return false to stop submit 
    });
    
    以下是如何:

    $("#id_frm").submit(function(ev){
    ev.preventDefault();
    });
    

    由于id_delete是submit按钮,因此需要在click事件处理程序中调用preventDefault()来停止表单的提交:

    $(document).ready(function (){
        $("#id_delete").click(function(e){ // add "e" for click event object
            var temp=$("#id_frm input:checkbox:checked");
            var len=temp.length;
            if(len==0) {
                alert("Please select the order.");
                e.preventDefault(); // stop form submission
            } else {
                if(confirm("Are you sure to delete the selected orders.")) {
                    // no need to submit the form manually
                    // the browser will do so after this function completes successfully
                    // $("#id_frm").submit();
                } else {
                    temp.checked=false;
                    e.preventDefault(); // prevent default here as well
                }
            }
        });
    });
    

    您能编辑jQuery代码以便我们阅读吗?:)你好,朋友!感谢您的快速回复,但实际上根据您的代码,它会在表单提交时进行检查,但实际上我希望在单击按钮时使用此功能,因为表单上还有其他提交的事件。你好,朋友!感谢您的快速回复,但实际上,根据您的代码,它会在表单提交时进行检查,但实际上我希望在单击按钮时使用此功能,因为表单上还有其他提交的事件。
    $(document).ready(function (){
        $("#id_delete").click(function(e){ // add "e" for click event object
            var temp=$("#id_frm input:checkbox:checked");
            var len=temp.length;
            if(len==0) {
                alert("Please select the order.");
                e.preventDefault(); // stop form submission
            } else {
                if(confirm("Are you sure to delete the selected orders.")) {
                    // no need to submit the form manually
                    // the browser will do so after this function completes successfully
                    // $("#id_frm").submit();
                } else {
                    temp.checked=false;
                    e.preventDefault(); // prevent default here as well
                }
            }
        });
    });