本来是一个很简单的登录页面,有一个记住我的选框使用的是checkbox
<div class="loginDetail">
<s:form class="logFrm" action="sys-login.gxad" method="post" id="loginForm" onsubmit="return formSubmit();">
<ul class="loginWrite">
<li>
<input type="text" class="form-control userName" placeholder="用户名" name="user.loginName" id="myUserCode">
</li>
<li>
<input type="password" class="form-control psd" placeholder="密码" name="user.loginPass" id="myPassword">
</li>
<li class="rebpd">
<input id="rememberMe" type="checkbox">
<span>记住密码</span>
</li>
<li>
<button class="btn btn-large btn-block btn-primary loginBtn" type="submit">登录</button>
</li>
</ul>
</s:form>
</div>
****使用的是2.1.3版本的jquery****
<script src="common/js/jquery-2.1.3.min.js"></script>
<script src="common/js/jquery.cookie.js"></script>
<script src="common/js/zui.js"></script>
<script src="common/js/jquery-ui.js"></script>
<script src="common/js/common.js"></script>
<script src="common/js/login.js"></script>
在login.js中的formSubmit方法如下
function formSubmit(){
if($.trim($('#myUserCode').val()) == ''){
DilogValid("请输入用户名!");
$('#myUserCode').focus();
return false;
}
if($.trim($('#myPassword').val()) == ''){
DilogValid("请输入密码");
$('#myPassword').focus();
return false;
}
//添加Cookie
alert($('#rememberMe').attr('checked'));
if($('#rememberMe').attr('checked')){
if($.trim($('#myUserCode').val()) != "" && $.trim($('#myPassword').val()) != "")
{
$.cookie('GXLOGIN', $('#myUserCode').val(), { expires: 365 });
$.cookie('GXPASSWORD', $('#myPassword').val(), { expires: 365 });
}
}else{
$.removeCookie('GXLOGIN');
$.removeCookie('GXPASSWORD');
}
return true;
}
记住密码这种一般都是用存浏览器COOKIE的方式,以上代码的记过就是不管rememberMe这个复选框是不是已经选中,alert出来的全部都是undefined;后来经过在网上查找相关jquery升级的相关改动;
说是有一种可以兼容旧版本的js,<script src="common/js/jquery-migrate.js"></script>,没想到真的可以用,而且还给我打印出了怎样将已经废弃掉的东西改正过来的方法
JQMIGRATE: jQuery.fn.attr('checked') may use property instead of attribute
意思很明白了 使用property代替attribute
于是将login.js里面的取attr的换成prop
if($('#rememberMe').prop('checked')){
然后将<script src="common/js/jquery-migrate.js"></script>的引用去掉就可以了;