首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2013-08-09 
求教一个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;
[解决办法]
引用:
<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;  
 } 

热点排行