洋仔聊编程
2017-04-17 11:30
采纳率: 75%
浏览 1.4k

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为提交按钮
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 已采纳

    你是$.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/////////////////
        })
    
    点赞 打赏 评论

相关推荐 更多相似问题