Jquery2.1.3的attr取不到checkbox的勾选状态解决办法

原本是一个很简单的登陆页面,有一个记住个人选框使用的是checkboxjquery

<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升级的相关改动;cookie

说是有一种能够兼容旧版本的js,<script src="common/js/jquery-migrate.js"></script>,没想到真的能够用,并且还给我打印出了怎样将已经废弃掉的东西改正过来的方法post

JQMIGRATE: jQuery.fn.attr('checked') may use property instead of attribute

意思很明白了  使用property代替attributeui

因而将login.js里面的取attr的换成propspa

if($('#rememberMe').prop('checked')){

而后将<script src="common/js/jquery-migrate.js"></script>的引用去掉就能够了;code

相关文章
相关标签/搜索