现在我碰到了一个问题,我的页面上有很多录入框,页面长度很长,用了各种验证控件
在保存时,如果验证没有通过,能不能定位到没有通过验证的那个textbox的位置。

解决方案 »

  1.   

    可不知道是那个没通过,怎么得知textboxname呢
      

  2.   

    我觉得不可能,因为你不能确定页面只有一个textbox没有通过验证。
      

  3.   

    用JAVASCRIPT 写一个函数,把所有的TEXTBOX验证一下
    Form1.UserName.focus();
    Form1.UserName.select();
    return false;
      

  4.   

    ——————
    如果验证没有通过,能不能定位到没有通过验证的那个textbox的位置。
    ——————
    在该textbox的位置的右侧显示错误信息。。
      

  5.   


    是呀,关键问题就在这呀,因为不可能只有一个textbox没有通过验证,在这种情况下可用
        function check()
        {    for (i = 0; i < Page_Validators.length; i++)
      {
      if(!Page_Validators[i].isvalid)
      {
         var jj=Page_Validators[i].controltovalidate;
     document.all[jj].focus();
     break;
      }           }
            }判断定位到第一个没通过验证的textbox,可大家有没有注意到,在.net中如果不提交表单,验证提示也会出现,现在我想如有那个textbox的验证控件出现提示,就把光标定位到那,不一定要提交表单,请问如何实现。
      
     
      

  6.   

    这个要求有点苛刻,只能在按钮提交时才能较验,如果要实现你要求的功能,就不能用验证控件,所有的验证由程序来完成,而且在按钮提交时光标也只能定位到第一个验证不成功的textbox中。
      

  7.   

    用JS控制再在後台稍微驗證一下就可以了!
    JS中的focus()
      

  8.   

    /// <summary>
    /// 控件得到焦點
    /// </summary>
    /// <param name="control">control 任意已經實例化的控件</param>
    public void SetFocus(System.Web.UI.Control control)
    {
    if (HttpContext.Current.Request.Browser.JavaScript)
    {
    control.Page.RegisterStartupScript("sf","<script language='javascript'>document.forms[0]." +
    control.ClientID +".focus();</script>");
    }
    }