前台:
起始时间:txtStartDate
<asp:TextBox ID="txtStartDate" AutoPostBack="true"  runat="server" OnTextChanged="startDateCh" ReadOnly="True" Width="99px" style="left: 3px;"></asp:TextBox><rjs:PopCalendar ID="PopCalendar2" runat="server" Control="txtStartDate" Format="yyyy mm dd" />
结束时间(TextBox ):txtEndDate
后台(c#):
在default.aspx.cs中获得了值txtStartDate.Text和txtEndDate.Text
我要给出提示:若“起始时间”大于“结束时间”或大于“当前日期”
则给出提示信息,以消息框的形式。请高手能给出详细解释,谢谢!

解决方案 »

  1.   

    别用textbox值改变的事件了,效率不高。可以用onblur事件,离开文本框时,被触发,然后,检验你的输入,前台写js校验,当然,后台的校验也不能节省。
    或者在点击保存按钮时,统一检验。不过一般来说,日期不建议输入,建议用日期控件。
      

  2.   

    protected void Page_Load(object sender, EventArgs e)
    {
    if(!IsPostback)
    {
    tbSearch.Attributes.Add("onkeypress", "EnterTextBox('btnJsSearch')");
    }
    }
    这是我工程里的代码,就是给TextBox加按下键的消息响应函数,但是加的JavaScript函数,因为这样按一次响应一下,非常费网速,所以就用JavaScript端处理吧
      

  3.   

        function EnterTextBox(button) {
            //现在这种情况,在tbSearch为空的时候按回车仍然是提交页面(即刷新)
            if (event.keyCode == 13 && document.all["tbSearch"].value != "") {
                event.keyCode = 9;
                event.returnValue = false;
                document.all[button].click();
            }
        }
      

  4.   

    谢谢各位的帮助,我是如下做的:大家可以借鉴:
    <script language ='javascript' type='text/javascript'>
    txtStartDate,txtEndDate都是textbox。
    function checkDate
    {
             var dateStyle = document.getElementById("txtStartDate").style.visibility;    //获取激活状态
             if(dateStyle == "visible")
             {
                //alert("日期被激活");
               
               //获取当前日期
                var now= new Date(); 
                var   nowDate=now.getFullYear() + "-";
                nowDate +=("00"+(now.getMonth()+1)).slice(-2) + "-"; 
                nowDate +=("00"+now.getDate()).slice(-2) ; 
                //alert("当前日期[" + nowDate + "]"); 
      
               //开始日期
                var startDate = document.getElementById("<%=txtStartDate.ClientID %>").value;
                //结束日期
                var endDate = document.getElementById("<%=txtEndDate.ClientID %>").value; 
                //alert("开始日期[" + startDate + "]");
                //alert("结束日期[" + endDate + "]"); 
               //alert(startDate.length);
            
               if(startDate.length == 0) 
                {
                    alert("\"开始日期\"不能为空!");
                   return false; 
                }
               
               if(startDate > nowDate)
                {
                    alert("\"开始日期\"不能超过\"当期日期\"!");
                   return false; 
                }
                
               if((endDate.length != 0) && (startDate > endDate))
                {
                    alert("\"开始日期\"不能超过\"结束日期\"!");
                   return false; 
                }                
             }//日期被激活}
    </script>