Код JavaScript не может получить контроль в Windows7, но может в XP - PullRequest
1 голос
/ 24 ноября 2010

Для работы использовалась следующая функция javascript:

  function tbComment_onKeyDown(ID) {
      var commentPop = $find("WebDialogWindowComment")
      commentPop.set_windowState($IG.DialogWindowState.Normal);
      commentID = ID;

      var thePopUpTb = $get("WebDialogWindowComment$tmpl$tbCommentPopUp");
      thePopUpTb.focus();
      thePopUpTb.value = commentID.value;      
}

То, что он сделал, было onKeyDown для текстового поля в моей форме aspnet (3.5), это привело к тому, что стал видимым Infragistics WebDialogWindow, установил фокус натекстовое поле в этом окне и скопировать любой текст из исходного текстового поля в текстовое поле в WebDialogWindow.

Теперь, $ get ("WebDialogWindowComment $ tmpl $ tbCommentPopUp");возвращается ноль.Когда я смотрю на View Source на странице, WebDialogWindowComment $ tmpl $ tbCommentPopUp находится на странице.

Я выполняю код через (веб-браузер в) vs2008.Единственное отличие, которое я могу вспомнить с того времени, когда оно работало до сих пор, заключается в том, что я обновил Vista до Windows7.Я не использую JQuery.

Кроме того, этот код работает до 2008 года на другом компьютере xp.

И приложение на сервере разработки (машина xp) запускается на моем компьютере с Windows 7.

Может кто-нибудь помочь с тем, что здесь происходит?

1 Ответ

1 голос
/ 24 ноября 2010

WebDialogWindowComment$tmpl$tbCommentPopUp выглядит как имя элемента. $ get () работает с идентификаторами элементов, а не именами.Попробуйте:

var thePopUpTb = $get("WebDialogWindowComment_tmpl_tbCommentPopUp");

До версии 8 Internet Explorer по ошибке принимал имена элементов в своем методе document.getElementById () .Вероятно, поэтому ваш код работает под IE7 в Windows XP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...