document.getElementById('<%= TextBox1.ClientID %>')<asp:TextBox ID="TextBox1" runat="server" onblur="change()"></asp:TextBox>
这个<%= TextBox1.ClientID %>这个什么意思,有什么用啊

解决方案 »

  1.   

    把后台TextBox1的clientid绑定到这里,这样js就能动态取到该对象
      

  2.   

    因为是服务器控件。页面加载后。ID可能会改变,这样子写,就会获取到服务器控件的ID了。例如你用到模板页的时候。你服务器控件的ID就不是TextBox1了,而是加了前缀的。CT100......之类的!
      

  3.   

    哦,因为用document.getElementById只能根据客户端控件的id进行DOM访问,加个clientID的话就可以访问服务器控件了,相当于是访问服务器控件所生成的HTML控件ID
      

  4.   

    ClientID 表示由服务器端生成的客户端控件的ID
    ASP.NET 为各个服务器控件生成一个唯一的 ClientID ,ClientID 通过将子控件的父控件的 UniqueID 值与控件的 ID 值连接生成,各个部分之间以下划线 _ 连接
      

  5.   

    在生成HTML页面之后,之前的服务器空间的ID会改变,所以直接用getElementById(TextBox1.ID),是找不到这个TextBox1的,因为他的名字变了。你在生成的HTML页面右键查看源代码就可以看到此时TextBox1的ID,这才是脚本中要引用的,你可以用<%=TextBox1.ClientID%>来获取它!
      

  6.   

    这个是服务器控件最终生成HTML真正的ID,防止在模板页,用户控件等情况获取不了控件。