开发者社区> 问答> 正文

jquery表单拦截和继续提交的问题

$(function(){
    $("form[type=ajax]").submit(function(){
        form = $(this);
        $.post(
            window.location,
            form.serialize(),
            function(data){
                if(data != 1){
                    alert("报错");
                }else{
                    form.submit();
                    return true;
                }
            }
        );
        return false;
    });
});

如上我想在返回的data != 1 的时候拦截住表单提交并且弹出错误,当data=1的时候直接继续submit()。现在的问题是拦截没问题了,但是当data=1的时候提交不了。

我知道可以通过把提交按钮<input type="submit">改成<input type="button">来实现,但是那样的话当js被屏蔽掉的时候就无法正常提交表单了。所以以上实现的前提是<input type="submit">

展开
收起
小旋风柴进 2016-03-23 14:36:15 2180 0
1 条回答
写回答
取消 提交回答
  • $(function(){
            $("form[type=ajax]").submit(function(){
                    form = $(this);
                    $.post(
                            window.location,
                            form.serialize(),
                            function(data){
                                    if(data != 1){
                                            alert("报错");
                                    }else{
                                            form.unbind('submit');
                                            form.submit();
                                            return true;
                                    }
                            }
                    );
                    return false;
            });
    });
    2019-07-17 19:11:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载