62,046
社区成员
发帖
与我相关
我的任务
分享
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style type="text/css">
#warning {
font-family : 微软雅黑,宋体;
font-size : 12px;
color : #ff0000;
}
</style>
<script src="jquery-1.11.3/jquery.js"></script>
<script type="text/javascript">
function veritySubmitNull() {
var uname = document.getElementById("user_name").value;
if (uname == null || uname == "") {
document.getElementById("warning").textContent = "用户名不能为空!";
return false;
}
var upwd = document.getElementById("user_pwd").value;
if (upwd == null || upwd == "") {
document.getElementById("warning").textContent = "密码不能为空!";
return false;
}
var userPattern = /[A-Za-z0-9]{4,20}/;
var flag = userPattern.test(uname);
if (flag == false) {
document.getElementById("warning").textContent = "用户名只能由英文大小写字母组成!";
return false;
}
var pwdPattern = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,18}$/;
flag = pwdPattern.test(upwd);
if (flag == false) {
document.getElementById("warning").textContent = "密码必须由8-16位字母、数字、特殊符号线组成.!";
return false;
}
return true;
}
function f_refreshtype() {
var Image1 = document.getElementByIdx_x_x_x("vcImage");
if (Image1 != null) {
Image1.src = Image1.src + "?";
}
}
</script>
</head>
<body>
<form id="form1" runat="server" defaultbutton="Submit" defaultfocus="user_name">
<div>
<div class="title">
</div>
<div class="login">
用户名:<asp:TextBox ID="user_name" runat="server" Width="174px" Height="20px"></asp:TextBox>
<br /><br />
密 码:<asp:TextBox ID="user_pwd" runat="server" TextMode="Password" Width="174px"
Height="20px"></asp:TextBox>
<br /><br />
验证码:<asp:TextBox ID="code" runat="server" Width="174px" Height="20px"></asp:TextBox>
<br /><br />
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:ImageButton ID="vcImage" runat="server" AlternateText="图片验证码"
ImageUrl="~/CreateCode.aspx" />
<asp:Button ID="refreshCode" runat="server" Text="换个验证码" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="refreshCode" />
</Triggers>
</asp:UpdatePanel>
<%--<asp:ImageButton ID="vcImage" runat="server" AlternateText="图片验证码" ImageUrl="~/CreateCode.aspx"
OnClientClick="f_refreshtype()" />--%>
<br /><br />
<asp:Button ID="Submit" runat="server" Text="登录" OnClick="Submit_Click"
OnClientClick="return veritySubmitNull()" Height="25px" Width="54px"
BackColor="#0099ff"/>
<input id="Reset" type="reset" value="重置" style="width: 54px; height: 25px; background-color: #0099ff" />
<br /><br />
<asp:Label ID="warning" runat="server" Text=""></asp:Label>
</div>
<div class="footer">
</div>
</div>
</form>
</body>
</html>
<a href="javascript:void(0);" onclick="return code();"><span style="color:Black;">换一张</span></a>
2、添加js函数,在<script type="text/javascript">里添加
function code()
{
var mycode=document.getElementById("vcImage");
mycode.src=mycode.src+"?";
}
点击“换一张”,就可以刷新了
<a href="javascript:void(0);" onclick="return code();"><span style="color:Black;">换一张</span></a>
3、2、添加js函数,在<script type="text/javascript">里添加
function code()
{
var mycode=document.getElementById("vcImage");
mycode.src=mycode.src+"?";
}
上面代码一定可以执行!
二、用服务器控件和C#
关于用UpdatePanel
换个验证码 这个按钮要放到UpdatePanel外面,否则不行
<asp:Button ID="refreshCode" runat="server" OnClick="refreshCode_Click" Text="换个验证码" />
<br />
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:ImageButton ID="vcImage" runat="server" ImageUrl="../CreateCode.aspx" />
</ContentTemplate>
</asp:UpdatePanel>
另外,在设计界面双击“换个验证码”这个按钮,添加click事件,
<asp:Button ID="refreshCode" runat="server" OnClick="refreshCode_Click" Text="换个验证码" />
refreshCode_Click里面什么也不要写,原理是:点击后,回发到服务器,然后服务器重绘页面,那个img就更新了验证码
验证码绝大部分是用客户端控件的