环境:Visual Studio 2008
语言:C#
程序:ASP.NET首先我在后台代码中做如下操作: 
protected void Page_Load(object sender, EventArgs e)
    {
        if(!Page.IsPostBack)
        {
            TextBox1.Attributes.Add("onblur", "textboxonblur(" + TextBox1.ClientID + ")");
            TextBox2.Attributes.Add("onblur", "textboxonblur(" + TextBox2.ClientID + ")");
            TextBox3.Attributes.Add("onblur", "textboxonblur(" + TextBox3.ClientID + ")");
            TextBox4.Attributes.Add("onblur", "textboxonblur(" + TextBox4.ClientID + ")");
            TextBox5.Attributes.Add("onblur", "textboxonblur(" + TextBox5.ClientID + ")");
            TextBox6.Attributes.Add("onblur", "textboxonblur(" + TextBox6.ClientID + ")");
            TextBox7.Attributes.Add("onblur", "textboxonblur(" + TextBox7.ClientID + ")");
            TextBox8.Attributes.Add("onblur", "textboxonblur(" + TextBox8.ClientID + ")");
        }
    }然后在前台HTML环境中编写textboxonblur()函数:
<SCRIPT   language="javaScript">   
      function textboxonblur(id)   
      {   
            if(document.getElementById(id).value=="")
            {
               document.getElementById(' <%=Label17.ClientID%>').style.display="block";
            }  
      }   
</SCRIPT>
我的目的是让8个.net组件TextBox组件共用一个textboxonblur()函数,当任何一个TextBox组件失去焦点时,检查其是否输入值。如果未输入值,则将提示为"输入值不能为空"的Label17标签显示出来。我总怀疑我的代码哪里写错了。现在请高手帮我检查一下,我到底错在哪里?正确代码该如何写?请详细说明!!!!!!!!!!!!!

解决方案 »

  1.   

    Label17是怎么定义的呢?是不是你让它Visible=false了,如果是,那不会在页出中出现
    Label17对应的<span>标签,document.getElementById(' <%=Label17.ClientID%>')取不到东西,
    你的提示也就出不来。
      

  2.   

    对了 是function textboxonblur(id)还是function textboxonblur(string id)啊???
      

  3.   

    哦,还有,你添加js的代码也有问题,自已看看运行的页面源代码就知道了。
    TextBox1.Attributes.Add("onblur", "textboxonblur(" + TextBox1.ClientID + ")");
    这样比较简单
    TextBox1.Attributes.Add("onblur", "textboxonblur(this)"); 
    客户端脚本改为
    <SCRIPT> 
      function textboxonblur(obj)  
      {  
            if(this.value=="") 
            { 
              document.getElementById('<%=Label17.ClientID%>').style.display="block"; 
            }  
      }  
    </SCRIPT> 
      

  4.   

    本帖最后由 LikeCode 于 2009-03-23 22:34:21 编辑
      

  5.   

    不好意思,打错了一个地方,应该是
    if(obj.value=="") 

        document.getElementById(' <%=Label17.ClientID%>').style.display="block"; 
    }