简单的登录事件
现在网上的软件一般都需要登录才能使用,对于登录大家也都习以为常,下面我来为大家介绍一下简单的登录事件。
1. 登录页面;
一般软件登录都需要几个条件,不同的软件可能所需要的登录条件不一样,但用户名和密码是必须要输入的信息。
下图是一个简单的登录页面,这个登录页面的登录条件只有用户名和密码两个信息。
这样的页面的基本代码如下。
(下图来自网络,并不是下面代码的效果图。下面的代码只是Html布局的基本代码,不包括css样式。)
<form id="form" method="post" "enter()" >
<div class="user">
<label>用户名:</label>
<input type="text" name="Username" id="input" placeholder="用户名">
</div>
<div class="Mi">
<label>密码:</label>
<input type="password" name="password" id="password" placeholder="密码">
</div>
<input type="checkbox" name="remember" id="remember"/><label>记住密码</label>
<button type="button" id="btnDeng">登录</button>
</form>
2. 验证登录:
(1)下面是一段点击登录的代码,其Id对应1上面的代码。
<script>
$("#btnDeng").click(function(){
var form = $("#form").serializeArray();
$.post("这里填写在控制器封装的对应方法的链接", form, function (data) {
if (data == "success") {
//登录成功,跳转到登陆页面
window.location.replace(“这里填写登录页面的链接”);
}
else {
//引用第三方对话框。
layer.alert(data, { title: '提示' });
}
})
});
</script>
先获取登录按钮的id,然后click触发登录按钮的单击事件;然后,上面的Html代码【method=“post”】这里点明了使用的是Post的异步提交。
Post的异步提交与from表单提交不一样,必须要传递参数(Post一共有四个参数),所以这里需要用serializeArray()这个序列化数组来序列化表单。
SerializeArray()会自动找到form表单里面对应的包含name属性的文本,把这些文本序列化出来。serializeArray()方法通过序列化表单值来创建对象数组,就是名称和值,返回 JSON 对象。
因为serializeArray()方法过序列化表单值返回的是 JSON 对象而不是字符串,所以要先用var声明一个字符串来接收JSON 对象,这样最终序列化出来的是字符串。
然后把字符串传递到date里面去。
Post里面使用If…else 条件语句进行判断,在条件为 true 时(即登录成功时)执行if 里面的代码,在条件为 false 时(即登录失败时)执行else里面的代码
If语句里面跳转链接使用replace属性替代原来的页面,使用replace属性不会出现后退按钮;
else里面使用alert提示框。
(2)登录页面还可以回车键登录,下面是一段封装的回车键登录的代码:(这里同样对应1的代码)
function enter() {
//点击的是否是回车键
if (window.event.keyCode == 13) {
// click单击事件
if (document.all(btnDeng).click());
}
}
在封装的函数里面使用if语句判断,第一个if语句检测在键盘上按下的键是否是回车键,用event.keyCode 获取键盘编码,13为回车键对应的键盘编码,然后比较两者是否相同,以此来检测按下的键是不是回车键;第二个if语句是在按下回车键之后用click单击事件点击登录按钮,以此达到回车键登录的目的。
(Onkeydown 事件会在用户按下一个键盘上的按键时发生,所以将封装的函数写在Onkeydown 事件里面)