RequiredFieldValidator2为验证输入密码不能为空,为啥鼠标放到textbox后 请输入关键字消失后,按理说为空了,RequiredFieldValidator2就应该给出提示了(请输入关键字)可什么提示都没有,请问怎么回事?难道是那段jquery有问题?
代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ex1.aspx.cs" Inherits="中级.验证控件.ex1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>    <script src="../js/jquery-1.4.2.js" type="text/javascript"></script>
   <script type="text/javascript">
        $(function() {
            $("#<%=TextBox2.ClientID %>").mouseover(function() {
                var str = $(this).val();
                //alert(str);
                if (str == '请输入关键字') {
                    $(this).val("");
                };
            });
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
            ControlToValidate="TextBox1" ErrorMessage="不能为空"></asp:RequiredFieldValidator>
        <br />
        <br />
        <asp:TextBox ID="TextBox2" runat="server" ForeColor="#999999">请输入关键字</asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
            ControlToValidate="TextBox2" ErrorMessage="请输入关键字" InitialValue="请输入关键字"></asp:RequiredFieldValidator>
        <br />
        <asp:DropDownList ID="DropDownList1" runat="server">
            <asp:ListItem>--请选择性别--</asp:ListItem>
            <asp:ListItem>男</asp:ListItem>
            <asp:ListItem>女</asp:ListItem>
            <asp:ListItem>未知</asp:ListItem>
        </asp:DropDownList>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" 
            ControlToValidate="DropDownList1" ErrorMessage="请选择性别" InitialValue="--请选择性别--"></asp:RequiredFieldValidator>
        <br />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        <br />
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
    
    </div>
    </form>
</body>
</html>

解决方案 »

  1.   

    验证时要在你提交表单时才会触发的,也就是点击了Button之后
      

  2.   

    JS和验证控件同时使用会出些现题。解决js和验证控件的冲突!
    JScript code
    function 你的js函数()
    {
        if(Page_ClientValidate())
        {
           //........
           return true;
        }
        else
        {
            //......
            return false;
         }
    }
      

  3.   

    我这里没问题啊,你的代码就改了两个地方
    <%@ Page Language="C#" AutoEventWireup="true"  %>加入了
       protected void Button1_Click(object sender, EventArgs e)
        {    }
    以能运行
      

  4.   

    验证控件是在你点击提交按钮的时候去判断的。如果要实现楼主说的那种的话用jquery验证控件吧