我在客户端写了一段javascript <script type="text/javascript">
var xmlHttp;
function checkName()
{
createXMLHTTP();
var username = document.getElementById("txt_UserName");
var url = "time.aspx?username="+username.value;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange = checkUserName;
xmlHttp.send(null);
}
function createXMLHTTP()
{
if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();//mozilla浏览器
}
else if(window.ActiveXObject)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");//IE老版本
}
catch(e)
{}
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");//IE新版本
}
catch(e)
{}
if(!xmlHttp)
{
window.alert("不能创建XMLHttpRequest对象实例!");
return false;
}
}
}
function checkUserName()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
if(xmlHttp.responseText=="true")
{
document.getElementById("d").innerHTML="输入正确!";
}
else
{
document.getElementById("d").innerHTML="输入错误!";
}
}
}
}
</script>
然后在time.aspx.cs里写了 if (Request.QueryString["username"].ToString() != "" && Request.QueryString["username"].ToString() != string.Empty)
{
if (Request.QueryString["username"].ToString().Length > 4)
{
Response.Expires = -1;
Response.Write("true");
}
else
{
Response.Expires = -1;
Response.Write("false");
}
}
可是执行的时候刚输入两个字就说输入错误,输入到4个字以上那个div不会在变了
帮小弟看下哪里错了?
var xmlHttp;
function checkName()
{
createXMLHTTP();
var username = document.getElementById("txt_UserName");
var url = "time.aspx?username="+username.value;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange = checkUserName;
xmlHttp.send(null);
}
function createXMLHTTP()
{
if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();//mozilla浏览器
}
else if(window.ActiveXObject)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");//IE老版本
}
catch(e)
{}
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");//IE新版本
}
catch(e)
{}
if(!xmlHttp)
{
window.alert("不能创建XMLHttpRequest对象实例!");
return false;
}
}
}
function checkUserName()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
if(xmlHttp.responseText=="true")
{
document.getElementById("d").innerHTML="输入正确!";
}
else
{
document.getElementById("d").innerHTML="输入错误!";
}
}
}
}
</script>
然后在time.aspx.cs里写了 if (Request.QueryString["username"].ToString() != "" && Request.QueryString["username"].ToString() != string.Empty)
{
if (Request.QueryString["username"].ToString().Length > 4)
{
Response.Expires = -1;
Response.Write("true");
}
else
{
Response.Expires = -1;
Response.Write("false");
}
}
可是执行的时候刚输入两个字就说输入错误,输入到4个字以上那个div不会在变了
帮小弟看下哪里错了?
解决方案 »
- 在线等——索引超出范围。必须为非负值并小于集合大小。 参数名: startIndex
- 缓存的问题
- 连接数据库 DBHelper 使用静态 static 连接 sqlconnection static reader 是否出现错误
- 为什么范围验证控件无效?
- 高手的你在遇到这个问题时你是如何解决的!都快急死人了…………
- asp.net2.0的代码分离和运行效率有关吗?
- 如何启动客户端的一个程序(Asp.net+c#),例如启动Window2000的附件中的图像处理文件kodakimg.exe?
- 代码后置的变量怎么在前台response.write出来?
- 为什么回车的效果和点命令按钮的效果不一样?
- 哪位大侠有asp.net写的聊天室,或者在那里可以下载?
- ASP向ASPX页传字符串。 aspx页提值后是乱码。。 怎么处理呢。谢谢了
- 求列车票务系统的一个查询语句
用户:
</td>
<td>
<input type="text" id="txt_UserName" onkeyup="checkName()" /><br />
</td>
<td>
<div id="d" style="border: 1px solid #B6D2E0;">
</div>
</td>
忘了补充了
是在onkeyup的时候
if (Request.QueryString["username"].ToString().Length > 4)
//这里返回的是你输入字符的长度!不是你要验证的逻辑!
{
Response.Expires = -1;
Response.Write("true");
}
else
{
Response.Expires = -1;
Response.Write("false");
}
然后客户端那里接受true,div就显示输入正确,不是这样吗?
在一个页面写js,然后传到另外一个页面接收,在把值传到刚那个页面
不是这样吗?
期待高手来帮小弟解决
我想请问一下,编程里1代表的是一个字母还是一个汉字,而你这个4代表的是几个字符?
还是输入错误
我都输这么长了zzzzzzzzzzzzzzzzzzzzzzzz
我这样试了下
输入zz显示2
输入太阳显示的还是2
var xmlHttp;
function checkName()
{
createXMLHTTP();
var username = document.getElementById("txt_UserName");
var url = "time.aspx?username="+username.value;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange = checkUserName;
xmlHttp.send(null);
}
function createXMLHTTP()
{
if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();//mozilla浏览器
}
else if(window.ActiveXObject)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");//IE老版本
}
catch(e)
{}
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");//IE新版本
}
catch(e)
{}
if(!xmlHttp)
{
window.alert("不能创建XMLHttpRequest对象实例!");
return false;
}
}
}
function checkUserName()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
if(xmlHttp.responseText=="true")
{
document.getElementById("d").innerHTML="输入正确!";
}
else
{
document.getElementById("d").innerHTML="输入错误!";
}
}
}
}
</script></head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>
用户:
</td>
<td>
<input type="text" id="txt_UserName" onblur="checkName()" /><br />
</td>
<td>
<div id="d" style="border: 1px solid #B6D2E0;">
</div>
</td>
</tr>
<tr>
<td>
密码:
</td>
<td>
<input type="text" id="txt_Password" /><br />
</td>
<td>
<div id="d_Password" style="display: none; border: 1px solid #B6D2E0;">
密码长度大于5
</div>
</td>
这个写在time.aspx.cs里
protected void Page_Load(object sender, EventArgs e)
{ if (Request.QueryString["username"].Trim().ToString().Length > 8)
{
Response.Expires = -1;
Response.Write("true");
}
else
{
Response.Expires = -1;
Response.Write("false");
} }
{
var username = document.getElementById("txt_UserName");
if(username.length<4)
document.getElementById("d").innerHTML="输入错误!";
}
判断有没有是已注册过的- -
不然我当然知道要在客户端判断了