js表单验证返回false依然提交

表单返回是false还是会提交,代码没有错误

function CheckItem(obj) {
var msgBox = $(obj).next('span');
switch ($(obj).attr('name')) {
case "username":
if (obj.value == "") {
msgBox.html('用户名不能为空');
msgBox.addClass('error');
flag = false;

        } else {
            var url = "usernamecheck?username=" + encodeURI($(obj).val()) + "&" + new Date().getTime();

            $.get(url, function(data) {
                if (data == "false") {
                    msgBox.html("× 用户已存在");
                    msgBox.addClass('error');
                    flag = false;
                    console.log(flag);
                } else {
                    msgBox.html().removeClass('error');
                    flag = true;
                }

            });

        }
        alert(flag);
        break; 

但是tel不填就不会提交

case "tel":
if (obj.value == "") {
msgBox.html('电话不能为空');
msgBox.addClass('error');
flag = false;
} else if ($(obj).val().length != 11) {
msgBox.html('电话格式错误');
msgBox.addClass('error');
flag = false;

        } else {
            flag = true;
        }
        break;

不知道哪里有问题

debug一下 if (obj.value == "") {这句的obj.value值是多少,是不是空字符串。