这是我以前有学到的一个简单的小例子,今天重装系统的时候居然发现它,就把它贴上来.原理是一样的.
其中大致流程是用户点击页面右上角的登录链接接着弹出div模拟窗口,该窗口通过iframe调用Login.aspx页面,用户输入用户名,密码和验证码后,Login.aspx页面的jQuery代码post到Login.ashx页面处理,Login.ashx页面可以算是简易的aspx页面吧。
当然你用LoginProcess.aspx
也是可以的。Login.ashx页面处理完把结果返回给Login.aspx页面处理,result变量用与接收结果。
如果返回1表示登录成功,则关闭模拟窗口。
主页面调用代码片段:
<asp:HyperLink ID="lnkLogin" runat="server" NavigateUrl="#" >登录</asp:HyperLink>
<script language="javascript" type="text/javascript">
$('#<%=this.lnkLogin.ClientID %>').click(
function(){
jBox.open('iframe-jBoxID','iframe','Login.aspx','用户登录
','width=400,height=250,center=true,draggable=true,model=true');
} );
</script>
Login.aspx代码
<form id="form1" onsubmit="return false;">
<table id="login-table">
<tr>
<td width="60">学号:</td>
<td><input class="textbox" type="text" style="width:160px;" id="txtUserName"
maxlength="9" onblur="checkUserName()" onclick="$.trim(this.value)"/><span></span>
</td>
</tr>
<tr>
<td width="60">密码:</td>
<td><input class="textbox" type="password" style="width:160px;" id="txtUserPwd"
onblur="checkUserPwd()" onclick="$.trim(this.value)" /><span></span>
</td>
</tr>
<tr>
<td width="60">验证码:</td>
<td><input class="textbox" type="text" style="width:160px;" maxlength="5"
id="txtCheckCode" onblur="checkCheckCode()" onclick="$.trim(this.value)"/><span>
</span>
</td>
</tr>
<tr>
<td width="60"></td>
<td><div style="color:#808080;">输入下图中的字符,不区分大小写</div><br />
<img src="CheckCode.aspx" style="vertical-align:middle;" alt="验证码" id="imgCheckCode" />
<a href="#" id="change_image">看不清,换一张</a></td>
</tr>
<tr>
<td width="60"></td>
<td><input type="image" src="App_Themes/Images/btn_login.jpg" id="btnLogin"
alt="马上登录" style="border:0;"/></td>
</tr>
</table>
</form>
jQuery代码:
$(document).ready(function(){
// 验证码更新
$('#change_image').click(
function(){
$('#imgCheckCode').attr('src','CheckCode.aspx?'+Math.random());
});
//关键的代码
$("#btnLogin").click(function(){
if(checkUserName() && checkUserPwd() && checkCheckCode())
{
var data = {
UserName: $('#txtUserName').val(),
UserPwd: $('#txtUserPwd').val(),
CheckCode: $('#txtCheckCode').val()
};
//提交数据给Login.ashx页面处理
$.post("Ajax/Login.ashx",data,function(result){
if(result == "1") //登录成功
{
alert("登录成功!您可以进行其他操作了!");
// 关闭模拟窗口
window.parent.window.jBox.close();
}
else if(result == "2") //验证码错误
{
$('#txtCheckCode').next("span").css("color","red").text("*
验证码错误");
}
else
{
alert("登录失败!请重试");
}
});
}
else
{
checkUserName();
checkUserPwd();
checkCheckCode();
}
});
});
//check the userName
function checkUserName()
{
if($("#txtUserName").val().length == 0)
{
$("#txtUserName").next("span").css("color","red").text("*用户名不为空");
return false;
}
else
{
var reg = /^\d{9}$/;
if(!reg.test($('#txtUserName').val()))
{
$('#txtUserName').next("span").css("color","red").text("*正确的格式
如:030602888");
return false;
}
else
{
$("#txtUserName").next("span").css("color","red").text("");
return true;
}
}
}
//check the pwd
function checkUserPwd()
{
if($('#txtUserPwd').val().length == 0)
{
$('#txtUserPwd').next("span").css("color","red").text("*密码不为空");
return false;
}
else
{
$('#txtUserPwd').next("span").css("color","red").text("");
return true;
}
}
// check the check code
function checkCheckCode()
{
if($('#txtCheckCode').val().length == 0)
{
$('#txtCheckCode').next("span").css("color","red").text("*验证码不为空");
return false;
}
else
{
$('#txtCheckCode').next("span").css("color","red").text("");
return true;
}
}
Login.ashx代码:
using System;
using System.Collections;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Web.SessionState; //支持session必须的引用
namespace Website.Ajax
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Login : IHttpHandler,IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string checkCode = "";
if (context.Session["checkCode"] != null)
{
checkCode = Convert.ToString(context.Session["checkCode"]).ToLower();
}
if (context.Request.Form["CheckCode"].ToLower() == checkCode)
{
using (SqlConnection conn = new
SqlConnection(SqlHelper.StudentConnectionString))
{
string sql = "select ID,stuNumber,userPassword,realName from
t_stuUser where stuNumber=@UserName and userPassword=@UserPwd";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlParameter pUserName = cmd.Parameters.Add("@UserName",
SqlDbType.VarChar, 30);
SqlParameter pUserPwd = cmd.Parameters.Add("@UserPwd",
SqlDbType.VarChar, 150);
pUserName.Value = context.Request.Form["UserName"];
pUserPwd.Value = Common.MD5(context.Request.Form["UserPwd"]);
conn.Open();
SqlDataReader sdr =
cmd.ExecuteReader(CommandBehavior.CloseConnection);
if (sdr.Read())
{
context.Session["UserID"] = Convert.ToString(sdr["ID"]);
context.Session["StuName"] =
Convert.ToString(sdr["realName"]);
context.Session["StuNumber"] =
Convert.ToString(sdr["stuNumber"]);
context.Response.Write("1"); // 登录成功
}
else
{
context.Response.Write("0"); //登录失败,用户名或密码错误
}
}
}
else
{
context.Response.Write("2"); // 验证码错误
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
分享到:
相关推荐
总结,基于jQuery的JS表单验证程序是高效、易用的工具,能够帮助开发者轻松实现表单验证,提升用户交互体验,同时确保数据的准确性和安全性。通过深入理解和实践,我们可以灵活地利用这些功能,创建出满足各种需求的...
本项目提供的源码演示了如何使用`jQuery Easyform`创建一个简单的注册表单验证效果。 `jQuery Easyform`的核心特性在于它的灵活性和自定义性。它允许开发者通过简单的配置就能实现各种验证规则,如非空检查、电子...
这个"jquery表单验证插件制作多张提交表单验证效果源码.zip"文件似乎包含了一个用于创建多张表单验证...通过研究源代码,可以掌握如何利用jQuery高效地实现表单验证,并实现多表单管理,提升Web应用的质量和用户体验。
**jQuery实现表单验证** 在Web开发中,表单验证是不可或缺的一部分,它确保用户输入的数据符合特定的要求,从而提高用户体验并减少服务器端的压力。jQuery,一个轻量级的JavaScript库,提供了简单易用的API来处理...
在实际应用中,你可以将这些验证效果集成到你的HTML表单中,通过调用提供的JavaScript函数或者配置相应的选项,实现表单验证功能。同时,为了确保无障碍访问(特别是对于屏幕阅读器用户),请确保还包含了适当的文字...
1. **简单易用**:EasyValidator 2.0的API设计简洁明了,只需几行代码即可实现表单验证。 2. **丰富的验证规则**:内置多种验证规则,如必填、邮箱、电话、URL、数字、日期等,也可以自定义验证规则。 3. **TIP...
在纯JavaScript中实现表单验证是一个基础且重要的技能。表单验证可以确保用户输入的数据满足特定的格式和要求,减少服务器端的负担,提高用户体验。在上述实例中,我们看到了如何利用HTML和JavaScript相结合来创建一...
本篇将深入探讨如何在AngularJS环境下实现移动端表单验证效果。 一、AngularJS表单基础 AngularJS中的表单由`<form>`标签定义,通过`ngForm`指令与AngularJS进行绑定。表单内的输入控件通常会带有`ngModel`指令,...
标题“最简单的表单验证框架发布”提示我们讨论的主题是一个用于验证HTML表单的轻量级框架。在网页开发中,表单验证是确保用户输入数据有效性和安全性的关键步骤。这个框架可能简化了常见的验证规则,使得开发者可以...
本篇将深入探讨如何利用jQuery实现表单验证,并以"JQuery表单验证Demo"为例进行详细讲解。 首先,我们需要理解jQuery的核心概念。jQuery通过简洁的API简化了DOM操作、事件处理、动画效果以及Ajax交互。在表单验证...
"引用到html即可使用"意味着这些插件的使用非常简单,只需要在HTML文件中引入相关的JS和CSS文件,通过配置相应的参数或指令,就能快速实现表单验证功能。通常,我们会在HTML的`<head>`标签内引入CSS文件,确保样式...
jQuery作为一款广泛使用的JavaScript库,提供了丰富的功能来简化DOM操作,同时也有一系列插件可以方便地实现表单验证。"jQuery表单验证插件"正是这样一种工具,它能够帮助开发者轻松添加验证功能到网页表单中,提高...
在这个“jQuery滑动表单验证效果”项目中,我们将探讨如何利用jQuery库来实现动态且具有交互性的表单验证效果。jQuery是一个轻量级、功能丰富的JavaScript库,它简化了DOM操作、事件处理和动画效果,是实现此类功能...
本篇文章将深入探讨如何使用jQuery实现美观且高效的表单验证。 首先,我们需要理解jQuery的核心概念。jQuery通过简化DOM操作、事件处理和动画效果,使得JavaScript编程更加简单。对于表单验证,jQuery可以轻松地...
7. **事件驱动编程**:JavaScript中的事件驱动模型是实现表单验证的关键,通过监听表单提交、字段更改等事件,触发相应的验证逻辑。 8. **错误提示**:良好的用户体验需要清晰的错误提示,框架可能提供统一的错误...
本教程将聚焦于JavaScript的简单表单验证方法。 一、表单验证的重要性 表单验证可以预防无效数据的提交,减少服务器的负担,提升用户体验。例如,要求用户必须填写电子邮件地址,确保格式正确;或者要求密码强度,...
而“dreamweaver笨阿猪高级表单验证插件”正是这样一款针对Dreamweaver的扩展工具,旨在帮助用户更轻松、更高效地实现表单数据验证,从而提升网站用户体验。 表单验证是网页设计中不可或缺的一部分,它确保用户输入...
**jQuery实现的带有Tooltip效果的表单验证** 在网页开发中,用户输入验证是不可或缺的一环,它确保了用户提交的数据符合预设的规范,提高了数据的准确性和系统的稳定性。`jQuery`作为一款广泛使用的JavaScript库,...