使用Jquery打造最佳用户体验的登录页面的实现代码_jquery
以下操作默认客服端以及开启js支持,noscript情况请自行编写代码实现
首先贴上展示图片:
默认状态:
出错状态:
等待状态:
工作流程:
在用户登录提交之前,在客户端验证输入框只做空值和长度判断,提交到服务器之后自动对提交来的字符串进行合法性以及长度的验证并且去除非法字符返回合法的字符串,根据返回的合法字符串进行登录验证,然后返回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('
$(".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

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Mit der kontinuierlichen Weiterentwicklung von Wissenschaft und Technik steigen auch die Anforderungen der Menschen an Kommunikationsgeräte ständig. Auf dem Markt sind Vivox100s und X100 zwei Mobiltelefonmarken, die viel Aufmerksamkeit erregt haben. Sie alle haben einzigartige Eigenschaften und jedes hat seine eigenen Vorteile. In diesem Artikel werden die Unterschiede im Benutzererlebnis dieser beiden Mobiltelefone verglichen, um den Verbrauchern ein besseres Verständnis zu ermöglichen. Es gibt offensichtliche Unterschiede im Erscheinungsbild zwischen Vivox100s und X100. Das Vivox100s zeichnet sich durch einen modischen und einfachen Designstil mit einem dünnen und leichten Gehäuse und einem angenehmen Handgefühl aus, während beim X100 mehr Wert auf die Praktikabilität gelegt wird

Wenn es um die Kamerafunktion von Android-Telefonen geht, geben die meisten Benutzer positives Feedback. Im Vergleich zu Apple-Telefonen glauben Benutzer im Allgemeinen, dass Android-Telefone eine bessere Kameraleistung haben. Diese Ansicht ist nicht unbegründet und die praktischen Gründe liegen auf der Hand. High-End-Android-Telefone haben größere Wettbewerbsvorteile hinsichtlich der Hardwarekonfiguration, insbesondere der Kamerasensoren. Viele High-End-Android-Telefone verwenden die neuesten Kamerasensoren der Spitzenklasse, die in Bezug auf Pixelanzahl, Blendengröße und optische Zoomfunktionen oft besser sind als die gleichzeitig veröffentlichten iPhones. Dieser Vorteil ermöglicht es Android-Telefonen, beim Aufnehmen von Fotos und Videos qualitativ hochwertigere Bildeffekte bereitzustellen und so den Anforderungen der Benutzer an Fotografie und Videografie gerecht zu werden. Daher ist der Wettbewerbsvorteil der Hardwarekonfiguration zu einem attraktiven Faktor für Android-Telefone geworden.

Am 31. März stellte CNMO fest, dass die mobile Anwendung Xiaomi Auto am 31. März die Rangliste der kostenlosen Anwendungen im Apple App Store anführte. Es wird berichtet, dass die offizielle App von Xiaomi Auto mit ihren umfassenden Funktionen und der hervorragenden Benutzererfahrung die Gunst einer großen Anzahl von Benutzern gewonnen hat und schnell den ersten Platz in der Liste belegte. Diese mit Spannung erwartete Xiaomi Auto App ermöglicht nicht nur eine nahtlose Verbindung des Online-Autokaufprozesses, sondern integriert auch Fernsteuerungsdienste für das Fahrzeug. Benutzer können eine Reihe intelligenter Vorgänge wie die Abfrage des Fahrzeugstatus und die Fernbedienung durchführen, ohne das Haus zu verlassen. Insbesondere wenn das neue Modell von Xiaomi Motors SU7 veröffentlicht wird, können Benutzer gleichzeitig die Konfigurationsdetails von SU7 über die App verstehen und die Vorbestellung erfolgreich abschließen. Internes Design der Xiaomi Auto App

Vom 26. bis 29. Juli wird die jährliche ChinaJoy2024 im Shanghai New International Expo Center feierlich eröffnet. ViewSonic wird gemeinsam mit ZOL Zhongguancun Online eine umfassende Berichterstattung über Seh-, Hör- und Tastsinn für Benutzer und Spielebegeisterte bieten Fest. ZOL Zhongguancun Online ist ein interaktives IT-Portal, das das ganze Land abdeckt und auf die Verkaufsförderung ausgerichtet ist. Es handelt sich um ein zusammengesetztes Medium, das Produktdaten, professionelle Informationen, Technologievideos und interaktives Marketing integriert. Zhongguancun Online durchbrach die dimensionale Mauer und erschien am Stand S101 in Halle E7 von ChinaJoy mit dem Thema „Trendy and Fun“ und bot Publikum und Branchenkennern aus der ganzen Welt ein vielfältiges und umfassendes Ausstellungserlebnis. ViewSonic-Ausstellungsbereich: Entdecken Sie High-End-Display-Technologie 1

Fünf Elemente der Benutzererfahrung: 1. Benutzerbedürfnisse, was Benutzer und Betreiber von diesem Produkt erwarten; 2. Funktionsumfang, welche Funktionen dieses Produkt hat; 3. Prozessdesign, das in zwei Hauptkategorien unterteilt werden kann; Design und Informationsarchitektur. In diesem Teil beschreibt Interaktionsdesign „mögliches Benutzerverhalten“, und Informationsarchitektur konzentriert sich auf die Art und Weise, wie Informationen für Benutzer ausgedrückt werden. 4. Prototyping-Design, Entscheidung, wo interaktive Elemente wie ein Abschnitt oder eine Schaltfläche platziert werden sollen Seite 5. Wahrnehmungsdesign. Dabei handelt es sich um die Zusammenführung von Inhalt, Funktionalität und Ästhetik, um ein endgültiges Design zu schaffen, das alle Ziele auf anderen Ebenen erfüllt.

CodeIgniter ist ein leistungsstarkes PHP-Framework, aber manchmal benötigen Sie möglicherweise zusätzliche Funktionen, um seine Fähigkeiten zu erweitern. Plugins können Ihnen dabei helfen. Sie können eine Vielzahl von Funktionen bereitstellen, von der Verbesserung der Website-Leistung bis hin zur Verbesserung der Sicherheit. 1.HMVC (Hierarchical Model View Controller) Mit dem Hmvc-Plugin können Sie die mehrschichtige MVC-Architektur in CodeIgniter verwenden. Dies ist nützlich für große Projekte mit komplexer Geschäftslogik. Mit HMVC können Sie Controller in verschiedene Module organisieren und diese Module nach Bedarf laden und entladen. Democode: //Folgenden Code in config/routes.php hinzufügen: $route["/module/contr

Analyse des serverseitigen Kommunikationsprozesses von Vue: So verbessern Sie die Benutzererfahrung Einführung: Mit der rasanten Entwicklung des Internets ist die Kommunikation zwischen Client und Server immer wichtiger geworden. Als modernes JavaScript-Framework stellt Vue Entwicklern eine Fülle an Tools und Technologien zur Umsetzung serverseitiger Kommunikation zur Verfügung. Dieser Artikel befasst sich mit dem serverseitigen Kommunikationsprozess von Vue und stellt einige Tipps und Best Practices zur Verbesserung der Benutzererfahrung vor. 1. Überblick über den serverseitigen Kommunikationsprozess von Vue Der serverseitige Kommunikationsprozess von Vue umfasst die folgenden wichtigen Schritte

Am 21. März stellte CNMO fest, dass DXOMARK die Bildschirmtestergebnisse des Huawei Mate60Pro bekannt gab, die mit 143 Punkten im Mittelfeld der weltweiten Bildschirm-Rangliste rangieren. Laut DXOMARKs Test bietet der Bildschirm des Geräts ein angenehmes Benutzererlebnis. Im Vergleich zum Huawei Mate50Pro der vorherigen Generation weist die neueste Version des Bildschirms erhebliche Verbesserungen bei der Bewegungs- und Berührungsreaktion sowie der Artefaktverwaltung auf, sodass Benutzer ein besseres visuelles Erlebnis genießen können. Die Lesbarkeit des Bildschirms bleibt im Wesentlichen auf dem Niveau des Produkts der vorherigen Generation. Obwohl die Helligkeit in Umgebungen mit wenig Licht etwas unzureichend ist, weist der Bildschirm des Geräts bei den meisten Umgebungslichtbedingungen eine gute Lesbarkeit und eine genaue Farbwiedergabe auf. Die Lesbarkeit ist insbesondere im Freien recht gut und die Bildschirmhelligkeit reicht aus
