前两天一直改OA的代码,用户登陆问题的密码错误或者用户名错误让我很纠结,在一位同事的帮助下终于解决了
在form表单上加onsubmit时间进行Ajax异步
<form method="post" class="login-form" name="login" action="../login" onsubmit="return checkLogin()">
<input type="text" class="login-input user-account" placeholder="帐号" name="username" id="username"autocomplete="off" >
<input type="password" class="login-input user-password" placeholder="密码" name="password"id="password"/>
<input type="submit" class="fm-button-blue login-submit" value="登录" name="doLogin"/>
</form>
下面是Ajax代码
<script type="text/javascript" charset="utf-8"> function checkLogin(){ var username=$("#username").val(); var password=$("#password").val(); $.post('../login',{ username:username, password:password },function (resp) { if(resp=="true"){ location.href="../"; }else if(resp=="nameFalse"){ alert("用户名错误!"); document.getElementById("username").value=""; document.getElementById("password").value=""; $("#username").focus(); }else if(resp=="passFalse"){ alert("密码不正确!"); document.getElementById("password").value=""; $("#password").focus(); }else{ $.post('../login',{ username:username, password:password },function (resp) { if(resp=="true"){ location.href="../"; }else if(resp=="nameFalse"){ alert("用户名错误!"); document.getElementById("username").value=""; document.getElementById("password").value=""; $("#username").focus(); }else if(resp=="passFalse"){ alert("密码不正确!"); document.getElementById("password").value=""; $("#password").focus(); }else{ } }); } }); return false; } </script>
如果没有两次 $.post('../login),按钮要提交(点击)两次才会有效,原因是后台封装起来的代码把cookie的jessionid修改了,第一次提交的都会变得无效,需要在进行一次提交。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|