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

发布于 2022-08-24 09:19:27 字数 568 浏览 17 评论 0

$(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">

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

白龙吟 2022-08-31 09:19:27
$(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;
        });
});
土豪我们做朋友吧 2022-08-31 09:19:27

可以试试 e.preventDefault() 接口??

樱花细雨 2022-08-31 09:19:27

去掉return true 就可以了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文