Rumah hujung hadapan web tutorial js 使用Jquery打造最佳用户体验的登录页面的实现代码_jquery

使用Jquery打造最佳用户体验的登录页面的实现代码_jquery

May 16, 2016 pm 06:05 PM
pengalaman pengguna Halaman log masuk

以下操作默认客服端以及开启js支持,noscript情况请自行编写代码实现

首先贴上展示图片:

默认状态:

使用Jquery打造最佳用户体验的登录页面的实现代码_jquery

出错状态:

使用Jquery打造最佳用户体验的登录页面的实现代码_jquery

等待状态:

使用Jquery打造最佳用户体验的登录页面的实现代码_jquery

工作流程:

在用户登录提交之前,在客户端验证输入框只做空值和长度判断,提交到服务器之后自动对提交来的字符串进行合法性以及长度的验证并且去除非法字符返回合法的字符串,根据返回的合法字符串进行登录验证,然后返回json数据给前台处理,其中登录成功的标记是 loginSuccess=0,服务器返回数据之后所有工作交给前台处理。

这里重点介绍前端处理的过程。

首先在页面打开之后让页面获取焦点:

$('body').focus();这样鼠标焦点就不会出现在输入框内。

然后处理两个输入框的获取和失去焦点的事件:

复制代码 代码如下:

$('.reg-action .reg-input').each(function () {
var items = $(this).parent('.reg-item');
if ($(this).val()) {
items.addClass("focus");
}
$(this).bind('focus blur', function (event) {
var type = event.type; //获取事件类型
if (type == 'focus') {
if (items.hasClass('error')) {
$(this).val("");
items.removeClass('error');
}
items.addClass('focus');
} else if (!$(this).val()) {
items.removeClass('focus');
}
})
});

在提交按钮之后:
复制代码 代码如下:

$(".btn-submit").click(function () {
var wrongTypeName = 0,//用户名的错误类型,可以直接作为错误提示信息数组的下标
wrongTypePwd = 0,//用户密码的错误类型
uname = $("#uname").val(),//用户名
pwd = $("#passwd").val(),//用户密码
plength = pwd.length,
nlength = uname.length,//长度
wrongNameHtml = new Array("", "请输入用户名", "用户名长度太短", "用户名长度超过12位", "您的用户名或密码错误", "超时,请重新登陆"),
wrongPwdHtml = new Array("", "请输入密码", "密码长度小于6位", "密码长度超过20位", "密码中含有非法字符");
//这里定义的是错误信息的数组

if (nlength == 0) {
wrongTypeName = 1;
}
if (nlength > 0 && nlength wrongTypeName = 2;
}
if (nlength > 20) {
wrongTypeName = 3;
}
if (plength == 0) {
wrongTypePwd = 1;//这里是对用户名和密码长度的一个判断,并获取错误信息数组的下标。
} else {
var patrn = /^(\w){6,20}$/;
if (plength wrongTypePwd = 2;
if (plength > 20)
wrongTypePwd = 3;
if (plength > 6 && plength if (!patrn.exec(pwd))
wrongTypePwd = 4;//这里是对用户密码合法性的前端判断,并返回错误数组的下标
}
}

var inputTip = function (index, tipHtml, tipNum) {
$(".reg-tip").eq(index).html(tipHtml[tipNum]);
if (tipNum > 0)
$(".reg-item").eq(index).addClass("error");
else
$(".reg-item").eq(index).removeClass("error");
}//定义错误提示信息页面显示函数。由于页面只有两个输入框所以我这里直接指定了index,如果页面上有很多,可以使用$(this).index()

inputTip(0, wrongNameHtml, wrongTypeName);
inputTip(1, wrongPwdHtml, wrongTypePwd);

if (wrongTypePwd == 0 && wrongTypeName == 0) {//在用户输入信息完全合法的情况下,即数组下标全部为0 开始执行ajax验证
//$(".reg-input").attr('disabled', true);
$("#login-form input").attr('disabled', true);
$('.remember').unbind('click');
$(".btn-master").addClass("visibility");
//已经向服务器提交了信息,所以将页面上的所有输入框按钮设置成不可用状态,这样可以有效的避免重复提交
var $params = "username=" + uname + "&password=" + pwd + "&remember=" + $('#remember-long').val();
//alert($params);
$.ajax({
url: "CheckUserLogin.aspx",
data: $params,
dataType: "json",
success: function (data) {
$(data).each(function (te, u) {
wrongTypeName = u.wrongTypeName;
wrongTypePwd = u.wrongTypePwd;
var loginSuccess = u.loginSuccess;//获取服务器返回的json数据
//alert(wrongTypeName);
//alert(wrongTypePwd);
if (loginSuccess == 0) {
location.href = "/Members/Memb.html";//成功则直接跳转
} else {//登录失败,返回友好的提示信息
$(".btn-master").removeClass("visibility");
$("#login-form input").attr('disabled', false);
inputTip(0, wrongNameHtml, wrongTypeName);
inputTip(1, wrongPwdHtml, wrongTypePwd);
}
});
},
error: function () {//ajax请求错误的情况返回超时重试。
wrongTypeName = 5;
inputTip(0, wrongNameHtml, wrongTypeName);
$("#login-form input").attr('disabled', false);
$('.remember').bind('click', function () { checkClick(); });
$(".btn-master").removeClass("visibility");
}
});

}
});

记住密码的checkbox以及文字的点击:
复制代码 代码如下:

var checkClick = function () {
if ($('#remember-long').attr('checked') == "checked") {
$('#remember-long').attr('checked', false);
$('#remember-long').val("0")
}
else {
$('#remember-long').attr('checked', true);
$('#remember-long').val("1")
}
}
$('.remember').bind('click', function () { checkClick(); });
$("#remember-long").click(function () { checkClick(); });
//记住登录的checkbox和label点击的绑定。这里只是写入cookies 未作登录处理,
//登录处理的思路是当选中的时候直接读取cookies中的数据提交给后台
//由于cookies中记录的事加密之后的密码所以要追加password已经加密

绑定键盘回车事件:需要引入:hotkeys插件
复制代码 代码如下:

$(document).bind('keydown', 'return', function(){$(".btn-submit").trigger('click');});
//绑定键盘的回车事件

帮助微软消灭IE6.0
复制代码 代码如下:

if ($.browser.msie && $.browser.version == "6.0") {
//帮助微软消灭ie6
if ($.cookie('masterShow') != "hidden")
$('body').append('

您的浏览器是IE6.0,漏洞较多,用户体验较差,微软官方将要放弃支持,为了自身电脑安全和获取最佳用户体验建议你根据自身需求升级至IE8.0以上版本或者使用火狐浏览器

关闭
不再显示
');
$(".master").delay(1000).slideDown('', function () {
$(".m-close").fadeIn();
});
$(".m-close-short").click(function () {
$(".m-close").fadeOut('', function () {
$(".master").slideUp();
});
});
$(".m-close-long").click(function () {
$(".m-close").fadeOut('', function () {
$(".master").slideUp();
$.cookie('masterShow', 'hidden');
});
});
}

关于页面,这个登录页面抄袭了点点网以前一个版本的设计,点点使用kissy库每次都发回服务器验证,整个页面的刷新,我改用jquery使用ajax异步验证,并在验证的过程中将页面元素设置为不可用,防止重复登录。
完整文件打包下载:jquery_login.rar
作者:Ethan.zhu
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Fahami perbezaan pengalaman pengguna antara vivox100s dan x100 Fahami perbezaan pengalaman pengguna antara vivox100s dan x100 Mar 23, 2024 pm 05:18 PM

Dengan perkembangan berterusan sains dan teknologi, keperluan orang ramai untuk peralatan komunikasi juga sentiasa meningkat. Di pasaran, Vivox100s dan X100 adalah dua jenama telefon mudah alih yang telah menarik perhatian ramai. Kesemuanya mempunyai ciri-ciri unik dan masing-masing mempunyai kelebihan tersendiri. Artikel ini akan membandingkan perbezaan pengalaman pengguna antara kedua-dua telefon mudah alih ini untuk membantu pengguna memahaminya dengan lebih baik. Terdapat perbezaan yang jelas dalam reka bentuk penampilan antara Vivox100s dan X100. Vivox100s menggunakan gaya reka bentuk yang bergaya dan ringkas, dengan badan yang nipis dan ringan serta rasa tangan yang selesa manakala X100 memberi lebih perhatian kepada kepraktisan

Mengapakah sesetengah orang berpendapat fotografi Android boleh mengalahkan Apple? Jawapannya begitu langsung Mengapakah sesetengah orang berpendapat fotografi Android boleh mengalahkan Apple? Jawapannya begitu langsung Mar 25, 2024 am 09:50 AM

Apabila membincangkan fungsi kamera telefon Android, kebanyakan pengguna memberikan maklum balas yang positif Berbanding dengan telefon Apple, pengguna umumnya percaya bahawa telefon Android mempunyai prestasi kamera yang lebih baik. Pandangan ini bukan tidak berasas, dan sebab-sebab praktikal adalah jelas. Telefon Android mewah mempunyai kelebihan daya saing yang lebih besar dari segi konfigurasi perkakasan, terutamanya penderia kamera. Banyak telefon Android canggih menggunakan penderia kamera terbaharu, yang paling tinggi, yang selalunya lebih cemerlang daripada iPhone yang dikeluarkan pada masa yang sama dari segi kiraan piksel, saiz apertur dan keupayaan zum optik. Kelebihan ini membolehkan telefon Android memberikan kesan pengimejan berkualiti tinggi apabila mengambil foto dan merakam video, memenuhi keperluan pengguna untuk fotografi dan videografi. Oleh itu, kelebihan daya saing konfigurasi perkakasan telah menjadi tarikan telefon Android.

Xiaomi Auto APP mendahului senarai percuma App Store Apple dengan jualan rasmi hampir 90,000 Xiaomi Auto APP mendahului senarai percuma App Store Apple dengan jualan rasmi hampir 90,000 Apr 01, 2024 am 09:56 AM

Pada 31 Mac, CNMO menyedari bahawa aplikasi mudah alih Xiaomi Auto mendahului kedudukan aplikasi percuma Apple App Store pada 31 Mac. Dilaporkan bahawa Aplikasi rasmi Xiaomi Auto telah memenangi hati majoriti pengguna dengan fungsi komprehensif dan pengalaman pengguna yang sangat baik, dengan cepat menduduki tempat pertama dalam senarai. Apl Auto Xiaomi yang dinanti-nantikan ini bukan sahaja merealisasikan sambungan lancar proses pembelian kereta dalam talian, tetapi juga menyepadukan perkhidmatan kawalan kenderaan jauh Pengguna boleh menyelesaikan satu siri operasi pintar seperti pertanyaan status kenderaan dan operasi jauh tanpa meninggalkan rumah. Terutama apabila model baharu Xiaomi Motors SU7 dikeluarkan, Apl dilancarkan secara serentak Pengguna boleh memahami butiran konfigurasi SU7 secara intuitif melalui Apl dan berjaya menyelesaikan prapesanan. Reka bentuk dalaman Apl Auto Xiaomi

ViewSonic debut di ChinaJoy2024 dengan skrin besar 8K yang menakjubkan ViewSonic debut di ChinaJoy2024 dengan skrin besar 8K yang menakjubkan Jul 24, 2024 pm 01:33 PM

Dari 26 Julai hingga 29 Julai, ChinaJoy2024 tahunan akan dibuka secara megah di Pusat Ekspo Antarabangsa Baharu Shanghai, ViewSonic akan berganding bahu dengan ZOL Zhongguancun Online untuk mencipta liputan penuh penglihatan, pendengaran dan sentuhan untuk pengguna dan peminat teknologi A kenduri. ZOL Zhongguancun Online ialah portal interaktif IT yang meliputi seluruh negara dan berkedudukan untuk mempromosikan jualan Ia adalah media komposit yang mengintegrasikan data produk, maklumat profesional, video teknologi dan pemasaran interaktif. Zhongguancun Online memecahkan dinding dimensi dan muncul di gerai S101 Dewan E7 ChinaJoy dengan tema "Trendy dan Seronok", membawakan pengalaman pameran yang pelbagai dan mengasyikkan kepada penonton dan orang dalam industri dari seluruh dunia. Kawasan Pameran ViewSonic: Terokai teknologi paparan mewah 1

Apakah lima elemen pengalaman pengguna? Apakah lima elemen pengalaman pengguna? Aug 26, 2022 pm 05:24 PM

Lima elemen pengalaman pengguna: 1. Keperluan pengguna, apa yang pengguna dan pengendali ingin dapatkan daripada produk ini 2. Skop fungsi, apakah fungsi produk ini 3. Reka bentuk proses, yang boleh dibahagikan kepada dua kategori utama: interaksi; reka bentuk dan seni bina maklumat Dalam bahagian ini, reka bentuk interaksi menerangkan "kelakuan pengguna yang mungkin", dan seni bina maklumat memberi tumpuan kepada cara untuk menyatakan maklumat kepada pengguna halaman; 5. Reka bentuk persepsi, Ia adalah penggabungan kandungan, kefungsian dan estetika untuk menghasilkan reka bentuk akhir yang memenuhi semua objektif pada peringkat lain.

Menganalisis proses komunikasi sisi pelayan Vue: cara meningkatkan pengalaman pengguna Menganalisis proses komunikasi sisi pelayan Vue: cara meningkatkan pengalaman pengguna Aug 10, 2023 am 11:19 AM

Menganalisis proses komunikasi sisi pelayan Vue: Bagaimana untuk meningkatkan pengalaman pengguna Pengenalan: Dengan perkembangan pesat Internet, komunikasi antara pelanggan dan pelayan telah menjadi semakin penting. Sebagai rangka kerja JavaScript moden, Vue menyediakan pembangun dengan pelbagai alatan dan teknologi untuk melaksanakan komunikasi sebelah pelayan. Artikel ini akan menyelidiki proses komunikasi sebelah pelayan Vue dan memperkenalkan beberapa petua dan amalan terbaik untuk meningkatkan pengalaman pengguna. 1. Gambaran keseluruhan proses komunikasi bahagian pelayan Vue Proses komunikasi bahagian pelayan Vue merangkumi langkah-langkah utama berikut

Pemalam Terbaik untuk php CodeIgniter: Bawa tapak web anda ke peringkat seterusnya Pemalam Terbaik untuk php CodeIgniter: Bawa tapak web anda ke peringkat seterusnya Feb 19, 2024 pm 11:48 PM

CodeIgniter ialah rangka kerja PHP yang berkuasa, tetapi kadangkala anda mungkin memerlukan ciri tambahan untuk melanjutkan fungsinya. Pemalam boleh membantu anda mencapai ini. Mereka boleh menyediakan pelbagai fungsi, daripada meningkatkan prestasi laman web kepada meningkatkan keselamatan. 1.HMVC (Hierarchical Model View Controller) Plugin Hmvc membolehkan anda menggunakan seni bina MVC berlapis dalam CodeIgniter. Ini berguna untuk projek besar dengan logik perniagaan yang kompleks. Menggunakan HMVC anda boleh menyusun pengawal ke dalam modul yang berbeza dan memuatkan serta memunggah modul ini mengikut keperluan. Kod demo: //Tambah kod berikut dalam config/routes.php: $route["/module/contr

DXO: Skor ujian skrin Huawei Mate60 Pro 143 telah meningkat dengan ketara DXO: Skor ujian skrin Huawei Mate60 Pro 143 telah meningkat dengan ketara Mar 22, 2024 pm 06:31 PM

Pada 21 Mac, CNMO menyedari bahawa DXOMARK mengumumkan keputusan ujian skrin Huawei Mate60Pro, dengan skor 143 mata, berada di kedudukan tengah kedudukan skrin global. Menurut semakan DXOMARK, skrin peranti memberikan pengalaman pengguna yang selesa. Berbanding dengan Huawei Mate50Pro generasi sebelumnya, versi terbaharu skrin mempunyai peningkatan ketara dalam gerak balas dan sentuhan sentuhan serta pengurusan artifak, membolehkan pengguna menikmati pengalaman visual yang lebih baik. Kebolehbacaan skrin pada asasnya mengekalkan tahap produk generasi sebelumnya Walaupun kecerahan dalam persekitaran cahaya malap sedikit tidak mencukupi, skrin peranti mempunyai kebolehbacaan yang baik dan pemaparan warna yang tepat dalam kebanyakan keadaan cahaya ambien. Kebolehbacaan agak baik terutamanya di luar, dan kecerahan skrin mencapai

See all articles