求教一个ASP.net页面验证的有关问题!
求教一个ASP.net页面验证的问题!!script typetext/javascriptfunction StuNameYZ() {var myStuName
求教一个ASP.net页面验证的问题!!
<script type="text/javascript">
function StuNameYZ() {
var myStuName = document.getElementById("<%=txtStuName.ClientID %>").value;
if (myStuName == "") {
alert('用户名不能为空');
return false;
}
if (myStuName.value.length < 8 || myStuName.value.length > 16) {
alert("用户名长度不规范!");
return false;
}
}
</script>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td align="right">姓名:</td>
<td>
<asp:TextBox ID="txtStuName" runat="server" ></asp:TextBox></td>
</tr>
<tr>
<td align="right">年龄:</td>
<td>
<asp:TextBox ID="txtStuAge" runat="server"></asp:TextBox></td></tr>
<tr>
<td colspan="2" align="center">
<asp:Button ID="btnAdd" runat="server" Text="添加" onclick="btnAdd_Click" OnClientClick="StuNameYZ"
style="height: 21px" /></td>
</tr>
</table>
[解决办法]<asp:Button ID="btnAdd" runat="server" Text="添加" onclick="btnAdd_Click"
OnClientClick="StuNameYZ" style="height: 21px" />
改为
OnClientClick="javascript:StuNameYZ();"这样就可以了
但是我建议你可以用验证控件
<asp:TextBox ID="txtStuName" runat="server" ></asp:TextBox><asp:
RequiredFieldValidator runat="server"
ErrorMessage="不允许为空!"
ControlToValidate="txtStuName"></asp:RequiredFieldValidator>
设置了ControlToValidate在你光标移动到下一个TextBox中的时候就会对你要验证的TextBox进行非空验证了
[解决办法]OnClientClick="return StuNameYZ();" 即可,还有其实var myStuName = document.getElementById("<%=txtStuName.ClientID %>").value; 可以写为var myStuName = document.getElementById("txtStuName").value;
[解决办法]验证控件不太好用其实,还会生成很多无用代码
------解决方案--------------------
楼主可以试试JQuery,好用而且功能强大,只需引入JQ文件即可,获取值可以直接使用
var myStuName=$(#"id").val();
[解决办法]OnClientClick="return StuNameYZ()"
function StuNameYZ() {
var myStuName = document.getElementById("<%=txtStuName.ClientID %>").value;
if (myStuName == "") {
alert('用户名不能为空');
return false;
}
if (myStuName.length < 8
[解决办法] myStuName.length > 16) {
alert("用户名长度不规范!");
return false;
}
return true;
}