none
Русские буквы в ID контрола RRS feed

  • Вопрос

  • Здравствуйте.

    Подскажите, почему метод Sys.UI.DomElement.getElementById не возвращает элемент, если его ID содержит русские символы?

     

    Приведу небольшой пример:

     

    <%@ Page Language="C#" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
      protected void Page_Load(object sender, EventArgs e)
      {
        тест.Attributes.Add("onchange", "change(this);");
        test.Attributes.Add("onchange", "change(this);");    
      }
      
    </script>
    <script type="text/javascript" language="javascript">
      function change(obj) { 
      var objFromJava = document.getElementById(obj.id)
      var objFromDoc = Sys.UI.DomElement.getElementById(obj.id);
      if (!objFromJava) alert('Obj from java is null');
      if (!objFromDoc) alert('Obj from Dom is null');
      }
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
      <title></title>
    </head>
    <body>
      <form id="form1" runat="server">
      <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        ID = "тест":<asp:TextBox ID="тест" runat="server"></asp:TextBox><br/>
        ID = "test":<asp:TextBox ID="test" runat="server"></asp:TextBox>
      </div>
      </form>
    </body>
    </html>
    

    1 октября 2010 г. 8:29

Ответы