读书人

求教一个ASP.net页面验证的有关问题!

发布时间: 2013-08-09 15:16:24 作者: rapoo

求教一个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;
[解决办法]
引用:
<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进行非空验证了

验证控件不太好用其实,还会生成很多无用代码
------解决方案--------------------


楼主可以试试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;
}

读书人网 >asp.net

热点推荐