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

相關文章
相關標籤/搜索