关于js判断用户名和密码时遇到的一个问题

countdowm6 发布于 2015/08/18 11:05
阅读 873
收藏 0

遇到一个问题,就是判断用户名和密码里面判断不为空的条件怎么写,我用了两种判断
方法,分别遇到两个不同的问题.
第一个是第三方登录时,调到登录界面,需要点击确认才能提交表单,不能直接进入

$(function() {

        var username = $('#username').val();
        var password = $('#password').val();
        if( !username && typeof(username)!="undefined" && username!=0 && !password && typeof(password)!="undefined" && password!=0 ){
            $("#loginForm").submit();
        }



另外一种第三方登录时可以直接跳转进去,但是如果账号或密码错误时会一直刷新界面
var username = $('#username').val();
        var password = $('#password').val();
        if( username!=undefined && username!=0 && password!=undefined && password!=0 ){
            $("#loginForm").submit();
        }


ps.以下是整个jsp代码


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		<title>欢迎登录邮箱</title>
		<link type="text/css" rel="stylesheet"
			href="<%=basePath%>css/login.css" />
		<script type="text/javascript"
			src="<%=basePath%>js/jquery-1.6.2.min.js">
	
</script>
		<script type="text/javascript"
			src="<%=basePath%>js/jquery.validate.min.js">
	
</script>
		<script type="text/javascript">
	$(function() {

		var username = $('#username').val();
		var password = $('#password').val();
		if(username != undefine && username!="" && password!= undefined && password!=""	){
			$("#loginForm").submit();
		}
		
		
		$("li").focusin(function() {
			$(this).find("input").addClass("on-focus");
			$("#errDiv").empty();
		});
		$("li").focusout(function() {
			$(this).find("input").removeClass("on-focus");
		});
	});
</script>
		<!--数据有效性校验-->
		<script type="text/javascript">
	$().ready(function() {
		$("#loginForm").validate({
			submitHandler : function(form) { //表单提交句柄,为一回调函数,带一个参数:form     
				form.submit(); //  提交表单   
			},
			errorPlacement : function(error, element) { //验证消息放置的地方
				error.appendTo(element.parent("li").next("li"));
			},

			rules : { //定义验证规则,其中属性名为表单的name属性   
				username : {
					required : true
				},
				password : {
					required : true
				}
			},
			messages : { //自定义验证消息   
				username : {
					required : "用户名是必需的!"
				},
				password : {
					required : "密码是必需的!"
				}
			}
		});
	});
	
	<%--function toDoLoginForOA(){
		if( username != null && !'' && password != null && !'' ){
			$("#loginForm").submit();
		}
	}
	--%>

	function toDoLoginForOA(){
		if(!username && typeof(username)!="undefined" && username!=0 && !password && typeof(password)!="undefined" && password!=0 ){
			$("#loginForm").submit();
		}
	}
</script>
<style type="text/css">
		
>>>>>>css省略
</style>
	</head>
	<body  onload="toDoLoginForOA() ">
		<div>
			<div align="center">
				<!--标题部分-->
				<iframe width=1003 height=130 marginwidth=0 marginheight=0
					frameborder=0 scrolling=no
					src="<%=basePath%>top.html"></iframe>
			</div>
			<div id="main" >
				<!-- 正文部分-->
				<div id="content" >
					<div  class="right" id="mid" >
						<div id="title" align="center">
							登录邮箱</div>
							   <div id="errDiv">
								<s:fielderror  fieldName="username" cssClass="error">&nbsp;</s:fielderror>
								</div>
						
						
						<form id="loginForm"
							action="<%=basePath%>user/login.action"
							method="post">
							<ul>
								<li>
									邮 箱:
									<input type="text" class="wid" id="username" name="username" value="<s:property value='username'/>"/>
									<samp class="ljg">
										@ljg.com
									</samp>
								</li>
								<li class="wrong" id="nameError">
									&nbsp;
								</li>
								<li>
									密 码:
									<input type="password" class="wid" id="password"
										name="password" value="<s:property value='password'/>"/>

								</li>
								<li class="wrong" id="passwordError">
									&nbsp;
								</li>
								<li class="mar">
									<input id="login_img" type="image"
										src="<%=basePath%>images/u-login.png"
										border="0" />
								</li>
								<%--<li class="now">
									还没有邮箱?
									<a href="<%=basePath%>user/register.jsp"
										target="_self">现在注册</a>
								</li>
							--%></ul>
						</form>
					</div>
				</div>
				<div>
					<iframe style="margin-top: 5px" width=770 height=154 marginwidth=0
						marginheight=0 frameborder=0 scrolling=no
						src="<%=basePath%>bottom.html"></iframe>
				</div>
			</div>
		</div>
	</body>
</html>





请问是哪里出了问题,怎么写判断为空的条件才是正确的呢?


加载中
0
在你身后
在你身后
$(document).keydown(function (event) {
    if (event.keyCode == 13) {
        btnClick();

    }
});
$(function () {

    
    $("#LoginId").focus(function () {
        LoginIdFocus();
    });

    $("#LoginId").blur(function () {
        checkLoginId();
    });
    $("#LoginPwd").focus(function () {
        LoginPwdFocus();
    });
    $("#LoginPwd").blur(function () {
        checkLoginPwd();
    });

    $("#btnLogin").click(function ()
    {
        btnClick();
    });
});

function btnClick()
{
    var result = checkForm();
    if (result) {
        var LoginPwd = $("#LoginPwd").val();
        var LoginId = $("#LoginId").val();
        var data = { LoginId: LoginId, LoginPwd: LoginPwd };

        $.ajax({
            url: "/User/Login",
            data: data,
            dataType: "JSON",
            type: "POST",
            success: function (jsonResult) {
                if (jsonResult == "0") {
                    location.href = "/Home/Index";
                } else if (jsonResult == "1") {
                    $("#InfoLoginPwd").css("display", "block");
                    $("#InfoLoginPwd").html("登录名或密码错误!");
                } else if (jsonResult == "2") {
                    $("#InfoLoginPwd").css("display", "block");
                    $("#InfoLoginPwd").html("您的账户已禁用,请速在邮箱激活!");
                } else if (jsonResult == "3") {
                    $("#InfoLoginPwd").css("display", "block");
                    $("#InfoLoginPwd").html("您的账户已冻结,请速联系管理员!");
                } else {
                    alert(jsonResult);
                }
            },
            error: function () {
                $("#InfoLoginPwd").html("用户登陆时,出现异常!请联系管理员!");
            }
        });
    }

}

//密码获得焦点事件
function LoginPwdFocus()
{
    $("#LoginPwd").css("border", "1px solid #0ff");
    $("#InfoLoginPwd").css("display", "none");

}

//用户名获得焦点事件
function LoginIdFocus()
{
    $("#InfoLoginId").css("display", "none");
    $("#LoginId").css("border", "1px solid #0ff");

}

function checkForm() {
    $(".errorMessage").remove();

    var result = true;
    if (checkLoginId() == false)
        result = false;
    if (!result) return false;
    if (checkLoginPwd() == false)
        result = false;

    return result;
}
//密码失去焦点
function checkLoginPwd() {
    var result = true;

    $("#InfoLoginPwd").html("");

    var LoginPwd = $("#LoginPwd").val();
    
    if (LoginPwd == "") {
        $("#LoginPwd").css("border", "1px solid #CCC");
        $("#InfoLoginPwd").css("display", "block");
        $("#InfoLoginPwd").html("密码不能为空!");
        result = false;
    } else if (LoginPwd.length < 6) {
        $("#LoginPwd").css("border", "1px solid #CCC");
        $("#InfoLoginPwd").css("display", "block");
        $("#InfoLoginPwd").html("密码长度不能少于6位!");
        result = false;
    } else if (LoginPwd.length > 20) {
        $("#LoginPwd").css("border", "1px solid #CCC");
        $("#InfoLoginPwd").css("display", "block");
        $("#InfoLoginPwd").html("密码长度不能大于20位!");
        result = false;
    }
    if (result) {
        $("#LoginPwd").css("border", "1px solid #CCC");
    };

    return result;
}

var flag = "";
function checkLoginId() {
    var result = true;

    $("#InfoLoginId").html("");

    var LoginId = $("#LoginId").val();

    if (LoginId == "" || "邮箱、电话号码" == LoginId) {
        $("#LoginId").css("border", "1px solid #CCC");
        $("#InfoLoginId").css("display", "block");
        $("#InfoLoginId").html("手机或邮箱不能为空!");
        result = false;
    } else {
        if (LoginId.indexOf("@") == -1) {
            //手机
            var reg = /^(13[0-9]|15[0-9]|18[0-9]|14[0-9])\d{8}$/;
            if (reg.test(LoginId)) {
                flag = "UserPhone";
            } else {
                $("#InfoLoginId").css("display", "block");
                $("#InfoLoginId").html("手机或电子邮箱格式非法,请重新输入!");
                $("#LoginId").css("border", "1px solid #CCC");
                result = false;
            }
        } else {
            //邮箱
            var reg = /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/;
            if (reg.test(LoginId)) {
                flag = "UserEmail";
            } else {
                $("#InfoLoginId").css("display", "block");
                $("#InfoLoginId").html("电子邮箱格式非法,请重新输入!");
                $("#LoginId").css("border", "1px solid #CCC");
                result = false;
            }
        }

    }
    if(result)
    {
        $("#InfoLoginId").css("display", "none");
        $("#LoginId").css("border", "1px solid #CCC");
    }
    return result;
}
0
Micooz
Micooz
也许你需要贴出html代码
countdowm6
countdowm6
贴出来了
返回顶部
顶部