<table width="792" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="82">
用 户 名:</td>
<td align="left" width="170">
<textarea style="width:90px" rows="1" cols="1" id="UserName" onBlur="j_username()"></textarea>
<span class="STYLE2">*</span>
</td>
<td align="left"><span id="NameError" style="color: #ff0033; "></span></td>
</tr>
</table>
能验证成功的
当把<textarea style="width:90px" rows="1" cols="1" id="UserName" onBlur="j_username()"></textarea>
改为<asp:TextBox ID="UserName" onBlur="j_username()" runat="server" CausesValidation="True"></asp:TextBox>或
<input id="UserName" name="UserName" type="text" onBlur="j_username()" />
验证时出错:是缺少对象,出错的地方是
var userName = document.getElementById("UserName").value;
<tr>
<td width="82">
用 户 名:</td>
<td align="left" width="170">
<textarea style="width:90px" rows="1" cols="1" id="UserName" onBlur="j_username()"></textarea>
<span class="STYLE2">*</span>
</td>
<td align="left"><span id="NameError" style="color: #ff0033; "></span></td>
</tr>
</table>
能验证成功的
当把<textarea style="width:90px" rows="1" cols="1" id="UserName" onBlur="j_username()"></textarea>
改为<asp:TextBox ID="UserName" onBlur="j_username()" runat="server" CausesValidation="True"></asp:TextBox>或
<input id="UserName" name="UserName" type="text" onBlur="j_username()" />
验证时出错:是缺少对象,出错的地方是
var userName = document.getElementById("UserName").value;
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2)
{
xmlHttp = false;
}
}function j_username()
{
document.getElementById("NameError").innerHTML = "";//清空错误信息
var userName = document.getElementById("UserName").value;
var reg = "[^a-zA-Z_0-9]";//判断用户名只能为字母,数字,下划线的正则表达式
var reg1 = "\\D";//判断用户名必须以字母开头的正则表达式
var xmlhttp
if(userName == "")//用户名为空,不可以
{
document.getElementById("NameError").innerHTML = "<font color=\"red\" style=\"font-size:11px\">用户名不能为空!<font><br>";
canSubmit = false;
}
else if(userName.length < 5||userName.length > 18)//判断用户名长度
{
document.getElementById("NameError").innerHTML = "<font color=\"red\" style=\"font-size:11px\">你输入的用户名长度太短!长度必须为5~18位!<font><br>";
canSubmit = false;
}
else if(!userName.substring(0,1).match(reg1))//用户名不是以字母开头
{
document.getElementById("NameError").innerHTML = "<font color=\"red\" style=\"font-size:11px\">必须已字母开头!<font><br>";
canSubmit = false;
}
else if(userName.match(reg))//用户名中出现其他特殊字符
{
document.getElementById("NameError").innerHTML = "<font color=\"red\" style=\"font-size:11px\">用户名只能是字母、数字、下划线!<font><br>";
canSubmit = false;
}
else
{
var url="CheckUserIs.aspx?userName="+escape(userName);
// window.open(url);
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = function()
{
if (xmlHttp.readyState < 4) {
document.getElementById("NameError").innerHTML="loading...";
}
if (xmlHttp.readyState == 4){
if(xmlHttp.responseText=="1")
{
document.getElementById("NameError").innerHTML="<font color=\"red\" style=\"font-size:11px\">该用已存在</font>";
}
else
{
document.getElementById("NameError").innerHTML="<font color=\"red\" style=\"font-size:11px\">可以注册</font>";
}
}
}
xmlHttp.send(null);
}
}
asp.net的服务器控件
转换成客户端html的时候
id是会变化的
你可以察看源文件的时候看到。
var userName = document.getElementById("<%=this.UserName.ClientID%>").value;