为什么我的表单没有提交?在jQuery中使用事件

时间:2012-07-16 18:50:45

标签: jquery

我正在寻找为什么我的表单没有提交该代码:

$("#my_form").on('submit', function(e) {
    if (!myCondition) {
        if (anotherCondition === true) {

            e.preventDefault();
            $('#modal').modal('show');
            $("#btn_valid").on('click', function(e) {
                return true;
            });       
        }
    }
    return true;
});

modale(DOM中存在的人)正在显示,但如果我点击#btn_valid表单未提交且模式停留在屏幕上。

如果我删除了e.preventDefault,则该过程不会停止,这意味着该模式正在显示,并且在表单提交后不按下该模式上的按钮。

我做错了什么?

感谢。

1 个答案:

答案 0 :(得分:1)

试试这个:

$(function() {
    var submitForm = false;
    $('#my_form').submit(function(e) {
        if (!submitForm) {
            e.preventDefault();
            $('#modal').modal('show');
        }
    });

    $("#btn_valid").on('click', function(e) {
        submitForm = true;
        $('#my_form').submit();
    });
});

您将看到,一旦您单击模式中的按钮,它将submitForm设置为true,当您输入表单提交回调处理程序时,您将通过if语句,最后像往常一样提交表单。< / p>