`
Tank03
  • 浏览: 80644 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

简单实现表单验证的效果

阅读更多

这是我以前有学到的一个简单的小例子,今天重装系统的时候居然发现它,就把它贴上来.原理是一样的.

 

   其中大致流程是用户点击页面右上角的登录链接接着弹出div模拟窗口,该窗口通过iframe调用Login.aspx页面,用户输入用户名,密码和验证码后,Login.aspx页面的jQuery代码postLogin.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; 
} 
} 
} 
} 
 

 

 

 

分享到:
评论

相关推荐

    超好用的JS表单验证,效果好

    总结,基于jQuery的JS表单验证程序是高效、易用的工具,能够帮助开发者轻松实现表单验证,提升用户交互体验,同时确保数据的准确性和安全性。通过深入理解和实践,我们可以灵活地利用这些功能,创建出满足各种需求的...

    jquery Easyform表单验证插件实现的简易注册表单验证特效源码.zip

    本项目提供的源码演示了如何使用`jQuery Easyform`创建一个简单的注册表单验证效果。 `jQuery Easyform`的核心特性在于它的灵活性和自定义性。它允许开发者通过简单的配置就能实现各种验证规则,如非空检查、电子...

    jquery表单验证插件制作多张提交表单验证效果源码.zip

    这个"jquery表单验证插件制作多张提交表单验证效果源码.zip"文件似乎包含了一个用于创建多张表单验证...通过研究源代码,可以掌握如何利用jQuery高效地实现表单验证,并实现多表单管理,提升Web应用的质量和用户体验。

    JQurey实现表单验证

    **jQuery实现表单验证** 在Web开发中,表单验证是不可或缺的一部分,它确保用户输入的数据符合特定的要求,从而提高用户体验并减少服务器端的压力。jQuery,一个轻量级的JavaScript库,提供了简单易用的API来处理...

    漂亮js表单验证提示效果.rar

    在实际应用中,你可以将这些验证效果集成到你的HTML表单中,通过调用提供的JavaScript函数或者配置相应的选项,实现表单验证功能。同时,为了确保无障碍访问(特别是对于屏幕阅读器用户),请确保还包含了适当的文字...

    jQuery表单验证插件EasyValidator 2.0带TIP提示效果

    1. **简单易用**:EasyValidator 2.0的API设计简洁明了,只需几行代码即可实现表单验证。 2. **丰富的验证规则**:内置多种验证规则,如必填、邮箱、电话、URL、数字、日期等,也可以自定义验证规则。 3. **TIP...

    纯JS实现表单验证实例

    在纯JavaScript中实现表单验证是一个基础且重要的技能。表单验证可以确保用户输入的数据满足特定的格式和要求,减少服务器端的负担,提高用户体验。在上述实例中,我们看到了如何利用HTML和JavaScript相结合来创建一...

    基于angularJS移动端表单验证效果

    本篇将深入探讨如何在AngularJS环境下实现移动端表单验证效果。 一、AngularJS表单基础 AngularJS中的表单由`&lt;form&gt;`标签定义,通过`ngForm`指令与AngularJS进行绑定。表单内的输入控件通常会带有`ngModel`指令,...

    最简单的表单验证框架发布

    标题“最简单的表单验证框架发布”提示我们讨论的主题是一个用于验证HTML表单的轻量级框架。在网页开发中,表单验证是确保用户输入数据有效性和安全性的关键步骤。这个框架可能简化了常见的验证规则,使得开发者可以...

    JQuery表单验证Demo

    本篇将深入探讨如何利用jQuery实现表单验证,并以"JQuery表单验证Demo"为例进行详细讲解。 首先,我们需要理解jQuery的核心概念。jQuery通过简洁的API简化了DOM操作、事件处理、动画效果以及Ajax交互。在表单验证...

    js表单验证插件

    "引用到html即可使用"意味着这些插件的使用非常简单,只需要在HTML文件中引入相关的JS和CSS文件,通过配置相应的参数或指令,就能快速实现表单验证功能。通常,我们会在HTML的`&lt;head&gt;`标签内引入CSS文件,确保样式...

    jquery表单验证插件

    jQuery作为一款广泛使用的JavaScript库,提供了丰富的功能来简化DOM操作,同时也有一系列插件可以方便地实现表单验证。"jQuery表单验证插件"正是这样一种工具,它能够帮助开发者轻松添加验证功能到网页表单中,提高...

    jQuery滑动表单验证效果.zip

    在这个“jQuery滑动表单验证效果”项目中,我们将探讨如何利用jQuery库来实现动态且具有交互性的表单验证效果。jQuery是一个轻量级、功能丰富的JavaScript库,它简化了DOM操作、事件处理和动画效果,是实现此类功能...

    Jquery 很漂亮的表单验证

    本篇文章将深入探讨如何使用jQuery实现美观且高效的表单验证。 首先,我们需要理解jQuery的核心概念。jQuery通过简化DOM操作、事件处理和动画效果,使得JavaScript编程更加简单。对于表单验证,jQuery可以轻松地...

    简单且强大的js表单验证框架

    7. **事件驱动编程**:JavaScript中的事件驱动模型是实现表单验证的关键,通过监听表单提交、字段更改等事件,触发相应的验证逻辑。 8. **错误提示**:良好的用户体验需要清晰的错误提示,框架可能提供统一的错误...

    js表单验证(简单)

    本教程将聚焦于JavaScript的简单表单验证方法。 一、表单验证的重要性 表单验证可以预防无效数据的提交,减少服务器的负担,提升用户体验。例如,要求用户必须填写电子邮件地址,确保格式正确;或者要求密码强度,...

    dreamweaver笨阿猪高级表单验证插件

    而“dreamweaver笨阿猪高级表单验证插件”正是这样一款针对Dreamweaver的扩展工具,旨在帮助用户更轻松、更高效地实现表单数据验证,从而提升网站用户体验。 表单验证是网页设计中不可或缺的一部分,它确保用户输入...

    JQuery 实现的带有Tooltip效果表单验证

    **jQuery实现的带有Tooltip效果的表单验证** 在网页开发中,用户输入验证是不可或缺的一环,它确保了用户提交的数据符合预设的规范,提高了数据的准确性和系统的稳定性。`jQuery`作为一款广泛使用的JavaScript库,...

Global site tag (gtag.js) - Google Analytics