// 这个是设计到登陆操作的统一js var t; (function ($) { $(document).ready(function () { // 绑定换验证码的点击事件 $("#casLoginForm").find("#changeCaptcha").bind("click", function () { $("#casLoginForm").find("#captchaImg").attr("src", "captcha.html?ts=" + new Date().getMilliseconds()); }); $("#casLoginForm").find("#captchaImg").bind("click", function () { $("#casLoginForm").find("#captchaImg").attr("src", "captcha.html?ts=" + new Date().getMilliseconds()); }); // 绑定帐号登录页面 用户名输入框修改事件,判断是否已经填写 var casLogin_username = $("#casLoginForm").find("#username"); casLogin_username.bind("change", function () { checkRequired($(this), "usernameError"); }); casLogin_username.bind("blur", function () { getCaptcha(); }); // 绑定帐号登录页面 密码输入框修改事件,判断是否已经填写 var casLogin_password = $("#casLoginForm").find("#password"); casLogin_password.bind("change", function () { checkRequired($(this), "passwordError"); }); casLogin_password.bind("blur", function () { getCaptcha(); }); // 元素聚焦 if ($("#username").val() != "") { $("#password").focus(); } // 帐号登陆提交banding事件 var casLoginForm = $("#casLoginForm"); casLoginForm.submit(doLogin); function doLogin() { $("#loginBasicHead").removeClass("errorcard"); var username = casLoginForm.find("#username"); var password = casLoginForm.find("#password"); var captchaResponse = casLoginForm.find("#captchaResponse"); if (!checkRequired(username, "usernameError")) { username.focus(); return false; } if (!checkRequired(password, "passwordError")) { password.focus(); return false; } if (!checkRequired(captchaResponse, "cpatchaError")) { captchaResponse.focus(); return false; } } $(".auth_tab_links li").bind("click", function () { var qrLoginLi = $(this).hasClass("qrLogin"); if (qrLoginLi) { getQRCode(); } else { clearInterval() } }); //用户名或密码错误 if($("#msg").length){ var errM = $("#msg").text(); $("#title").text(errM).show(); $("#loginBasicHead").addClass("errorcard"); $("#usernameControl").addClass("bh-form-control-danger"); $("#passwordControl").addClass("bh-form-control-danger"); $("#captchaControl").addClass("bh-form-control-danger"); } }); })(jQuery); // 统一校验必填和展示错误信息的方法 function checkRequired(obj,msgId){ if (obj.length == 0) { return true; } if (obj.val() == "") { //移除错误提示class $("#loginBasicHead").removeClass("errorcard"); if($("#casLoginForm").find(".bh-form-control-danger")){ $("#casLoginForm").find(".bh-form-control-danger").removeClass("bh-form-control-danger"); } //用户名为空 if("usernameError" == msgId){ $("#loginBasicHead").addClass("unfillcard"); $("#loginBasicHead").find(".title").text("请填写用户名!").show(); $("#usernameControl").addClass("bh-form-control-warning"); return false; } //密码为空 if("passwordError" == msgId){ $("#loginBasicHead").addClass("unfillcard"); $(".title").text("请填写密码!").show(); $("#passwordControl").addClass("bh-form-control-warning"); return false; } //验证码为空 if("cpatchaError" == msgId){ $("#loginBasicHead").addClass("unfillcard"); $(".title").text("请填写验证码!").show(); $("#captchaControl").addClass("bh-form-control-warning"); return false; } } else { //移除错误提示class $("#loginBasicHead").removeClass("unfillcard"); $("#loginBasicHead").removeClass("errorcard"); $(".title").text("").hide(); if($("#casLoginForm").find(".bh-form-control-danger")){ $("#casLoginForm").find(".bh-form-control-danger").removeClass("bh-form-control-danger"); } $("#usernameControl").removeClass("bh-form-control-warning"); $("#passwordControl").removeClass("bh-form-control-warning"); $("#captchaControl").removeClass("bh-form-control-warning"); return true; } } function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } function getCaptcha() { var username = $.trim($("#casLoginForm").find("#username").val()); // if ( username!= "" && $("#casLoginForm").find("#captchaResponse").length == 0) { if (username != "") { $.ajax("needCaptcha.html", { data: {username: username}, cache: false, dataType: "text", success: function (data) { if (data.indexOf("true") > -1) { // 如果已经存在验证码,那么就不动 if ($("#casLoginForm").find("#captchaResponse").length != 0) { return; } var casCaptcha = $("#cpatchaDiv"); casCaptcha.empty(); $("#loginBasicHead").addClass("identifycard"); casCaptcha.html($("#hidenCaptchaDiv").html()); $("#casLoginForm").find("#changeCaptcha").bind("click", function () { $("#casLoginForm").find("#captchaImg").attr("src", "captcha.html?ts=" + new Date().getMilliseconds()); }); $("#casLoginForm").find("#captchaImg").bind("click", function () { $("#casLoginForm").find("#captchaImg").attr("src", "captcha.html?ts=" + new Date().getMilliseconds()); }); casCaptcha.fadeIn("slow"); } else { // 如果不需要验证码,并且验证码已经出现,那么清空 if ($("#casLoginForm").find("#captchaResponse").length != 0) { var casCaptcha = $("#cpatchaDiv"); casCaptcha.empty(); } } } }); } } function checkQRCodeStatus(uuid) { $("#appCodeRefresh").hide(); $("#appCodeLoginLoad").hide(); t = setInterval(function () { $.ajax({ type: "GET", url: "qrCodeStatus.do", dataType: "json", data: {uuid: uuid}, success: function (data) { var codeStatusType = data.codeStatus; var uid = data.uid; switch (codeStatusType) { case 401: break; case 404: $("#appCodeRefresh").show(); $("#appCodeRefresh").bind("click", function () { ajaxGetQRCode(); }); clearInterval(); break; case 200: $("#appCodeLoginLoad").show(); $(".auth_tab_content_item[tabid=03]").find("#casLoginForm").submit(); break; default : alert("服务器维护中,请稍后再试"); break; } } }); }, 5000); } function clearInterval() { clearTimeout(t); }