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

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


$(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;
        });
});

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


去掉return true 就可以了

【热门文章】
【热门文章】