javascript - PreventDefault后提交表单并解除绑定(bind)

标签 javascript jquery

我在表单上使用了 preventDefault,并且我尝试使用它在语句为真时自动提交。

function codeCheck(){
        $("#code-form").submit(function(e){
            e.preventDefault();
        });
        var code = $("#code").val();
        $.ajax({
            url: "index.php",
            type: "POST",
            data: { codeCheck: 1, ajaxCode: code }
        }).done(function(check) {
            if(check == 2){
                $("#used").css("display", "block");
            }
            else if(check == 1){
                $("#code").css('background', "url('../img/check.png') no-repeat scroll 170px 2px");
                $("#submit").css('display', 'block');
                $("#submit").on("click", function(){
                    $( "#container" ).fadeOut( "slow", function() {
                        $("#code-form")[0].submit();
                    });
                });

                $("#used").css("display", "none");
            }
            else{
                $("#code").css('background', "none");
                $("#used").css("display", "none");
                //$("#code-form").unbind('submit');
            }
        }); 
}

解除绑定(bind)确实有效,解除绑定(bind)时我可以使用提交按钮。但是 $("#form").submit() 部分不起作用,淡出后不会自动提交表单。

这是一个 fiddle :http://jsfiddle.net/90wmpw7x/1/

我想要的只是它在淡入淡出后继续保持形式。

编辑:为了更清楚起见,我刚刚添加了完整的功能。

最佳答案

您想使用以下内容,因为您说提交事件已被阻止。这将以默认方式提交表单:

$("#form")[0].submit();

而不是:

$("#form").unbind('submit', function(){
    $("#form").submit();    
});

特别说明:

要使其正常工作,请确保您没有任何带有 name="submit" 的表单字段。

更新

鉴于更新的代码,这是我的建议:

$("#form").submit(function(e){
    e.preventDefault();

    $( "#container" ).fadeOut( "slow", function() {
        $("#form")[0].submit();    
    });
});

fadeOut 代码应移至提交处理程序内部

DEMO

关于javascript - PreventDefault后提交表单并解除绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26889447/

相关文章:

javascript - 为什么我的 meteor 应用程序创建 "hiddendiv common"div 标签?

javascript - 如何使用 setTimeout() 调用 jQuery(document).ready 之外的函数?

javascript - JavaScript 中的 Formtastic(表单生成器)

javascript - 在 jquery 选择器中使用变量

javascript - JQuery:使用元素的html()(innerHTML)作为canvas的drawSvg方法的参数

JavaScript 多行字符串

javascript - Highcharts : is it possible to change the font of the label in Highchart via a click of a button?

javascript - 如何在 Javascript 中操作我的深层嵌套 json?

javascript - jQuery slider 给我滚动条

javascript - 切换/取消切换字体大小 document.execCommand