环境:Visual Studio 2008
语言:C#
程序:ASP.NET 首先我在后台加载如下代码:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
LinkButton2.Attributes.Add("onclick","checkpassword("+TextBox8.Text+")");
}
}
注:TextBox8为密码输入框。LinkButton2的Text值为“检查密码”。 然后在前台编写如下代码:
function checkpassword(textboxvalue)
{
if(this.form1.TextBox8.value!=null&&this.form1.TextBox8.value!="")
{
var str=textboxvalue;
var Expression=/^[A-Za-z0-9]{7,10}$/;
var objExp=new RegExp(Expression);
if(objExp.test(str)==false)
{
alert("密码必须由7-10位字母或数字组成!");
//document.getElementById("Label18").innerHTML="密码必须由7-10位字母或数字组成!";
return;
}
else
{
alert("密码输入无误!");
//document.getElementById("Label18").innerHTML="密码输入无误!";
return;
}
}
else
{
alert("请先输入密码!");
this.form1.TextBox8.value="";
this.form1.TextBox8.focus();
}
}
现在问题出来了:
不管我在密码输入框中输入的密码合不合乎正则表达式规范,最终都会出现alert("密码输入无误!");
alert("密码必须由7-10位字母或数字组成!");根本不会出现。
就是说不管我的密码输入对不对,它都会提示我对的。
请问我的问题到底出在哪里?该如何修改???? 以下是有人给我的回帖原文:已经在load事件里执行 LinkButton2.Attributes.Add("onclick","checkpassword("+TextBox8.Text+")");
所以在以后不管你在TextBox8输入什么值,当你点击LinkButton2时传递的TextBox8.Text都是load时的值有没人告诉我,以上回帖是什么意思?我想知道具体代码该怎么写????
语言:C#
程序:ASP.NET 首先我在后台加载如下代码:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
LinkButton2.Attributes.Add("onclick","checkpassword("+TextBox8.Text+")");
}
}
注:TextBox8为密码输入框。LinkButton2的Text值为“检查密码”。 然后在前台编写如下代码:
function checkpassword(textboxvalue)
{
if(this.form1.TextBox8.value!=null&&this.form1.TextBox8.value!="")
{
var str=textboxvalue;
var Expression=/^[A-Za-z0-9]{7,10}$/;
var objExp=new RegExp(Expression);
if(objExp.test(str)==false)
{
alert("密码必须由7-10位字母或数字组成!");
//document.getElementById("Label18").innerHTML="密码必须由7-10位字母或数字组成!";
return;
}
else
{
alert("密码输入无误!");
//document.getElementById("Label18").innerHTML="密码输入无误!";
return;
}
}
else
{
alert("请先输入密码!");
this.form1.TextBox8.value="";
this.form1.TextBox8.focus();
}
}
现在问题出来了:
不管我在密码输入框中输入的密码合不合乎正则表达式规范,最终都会出现alert("密码输入无误!");
alert("密码必须由7-10位字母或数字组成!");根本不会出现。
就是说不管我的密码输入对不对,它都会提示我对的。
请问我的问题到底出在哪里?该如何修改???? 以下是有人给我的回帖原文:已经在load事件里执行 LinkButton2.Attributes.Add("onclick","checkpassword("+TextBox8.Text+")");
所以在以后不管你在TextBox8输入什么值,当你点击LinkButton2时传递的TextBox8.Text都是load时的值有没人告诉我,以上回帖是什么意思?我想知道具体代码该怎么写????
解决方案 »
- CSDN论坛今天怎么老是系统异常。。。。此ASp.net异常的技术分析 有图有真相
- sqlserver2008 安装时报 sql server2008 群集节点验证失败
- MVC中如何实现在页面添加多条记录,然后统一按submit上传处理
- 请问大家在.net中使用ajax都用那个框架
- DataTime类型问题
- 键盘控制焦点移动,高手帮忙,在线等待中
- 512内存,cpu奔腾3.0 运行 .net2005速度怎么样?
- 请问针对firefox应该注意的事项有哪些?
- win2003,.net sql server2000连接被拒绝(与以前的问题不太一样)
- Treeview的动态选定问题?
- ※应届毕业生问技术支持具体应具备的技能※
- 本人新手刚学习C#不久请问下,如何控制用户在一定时间内写入数据库次数和查询数据库次数的语句?
if(objExp.test(str)==false)
{
alert("密码必须由7-10位字母或数字组成!");
//document.getElementById("Label18").innerHTML="密码必须由7-10位字母或数字组成!";
return;
}
换成这个试试if(objExp.exec(str)==null)
{
alert("密码必须由7-10位字母或数字组成!");
//document.getElementById("Label18").innerHTML="密码必须由7-10位字母或数字组成!";
return;
}
倒下
if("False"==objExp.test(str))试下
已经在load事件里执行 LinkButton2.Attributes.Add("onclick","checkpassword("+TextBox8.Text+")");
所以在以后不管你在TextBox8输入什么值,当你点击LinkButton2时传递的TextBox8.Text都是load时的值
这个意思应该是第一次的page_load执行时的textbox8.text的值保存了(保存时间应该是和当前浏览器窗口的生命周期一样)。后面在执行的时候用的还是第一次的值。你试试第一次你输入的是正确的,你第二次输入错误的是不是不弹alert("密码必须由7-10位字母或数字组成!");如果是那可能就是缓存了第一次的值,具体怎么解决我也不知道,我会继续关注此贴,如有解决方案请发出来学习一下。