jquery阻止表单提交失败怎么回事

 $(".sub").click(function(){
            var name = $(".name").val();
            var eng = $(".eng").val();
            if(name==""||eng==""){
                alert("请填写所有!");
                return false;      //这个就可以阻止表单提交
            }else{
                $.post("checkServlet1",{
                    english:eng
                },
                function(data,status){
                    if(data == "true"){
                        alert("登录成功!点击进入");
                    }
                    else{
                        alert("密码错误!点击返回");
                        return false;      //这个语句不能阻止表单提交  怎么回事?
                    }
                });
            }

        })


        .sub为提交按钮

你是$.post那里return false这样肯定不行了。。你这个是匿名回掉的返回值,又不是.sub click的返回值

$.post改为$.ajax,配置async为false同步请求才行,并且要改成下面的结构

   $(".sub").click(function () {
        var name = $(".name").val();
        var ok = true;/////////
        var eng = $(".eng").val();
        if (name == "" || eng == "") {
            alert("请填写所有!");
            ok = false;     /////////////////////
        } else {
            $.ajax({
                type: 'POST',
                async:false,////////////
                url: 'checkServlet1',
                data: { english: eng },
                success: function (data, status) {
                    if (data == "true") {
                        alert("登录成功!点击进入");
                    }
                    else {
                        alert("密码错误!点击返回");
                        ok = false;     /////////////////////
                    }
                }
            })
        }
        return ok/////////////////
    })