Некоторые операторы javascript вообще не работают с IIS 7 и Windows 2008 - PullRequest
1 голос
/ 11 июня 2011

У меня следующий код работает нормально с Win 2003 и IIS 6:

javascript:window.opener.document.formConfirmation.textBoxDateFrom.value = '01/01/2011';

Однако он не работает с Win 2008 с IIS 7!

Я не могу изменить код вышетак как логика заполняется из календаря DLL, к которой у меня нет доступа.Я хотел бы знать, является ли это настройка в IIS, которая ограничивает работу некоторых Javascript.И если это так, что я могу сделать, чтобы приведенный выше код работал, как раньше.

К вашему сведению, НЕ работает в IIS 7 :

document.Form1.txtAlias.value;

, ноэто утверждение РАБОТАЕТ в IIS 7 :

document.getElementById('txtAlias').value;

, а ОБА работает с IIS 6 !!!О чем это?Любая помощь поможет мне вернуть часть моих часов, потраченных на это ...

1 Ответ

1 голос
/ 11 июня 2011

Это потому, что вы жестко запрограммировали имена элементов управления, но эти имена, вероятно, динамически отображаются на asp.net.Я говорю, вероятно, потому что вы можете настроить их не динамическое изменение имени при рендеринге.

Измените свой управляющий идентификатор с помощью <% = Control.ClientID%> или используйте другой метод для получениязначения ваших элементов управления.

Например.

document.getElementById('<%=txtAlias.ClientID%>').value

или

javascript:window.opener.document.<%=Form.ClientID%>.<%=textBoxDate.ClientID%>.value = '01/01/2011';

В этой части вашего кода document.Form1.txtAlias.value;, вероятно, Form1 изменилсяname, а не txtAlias.

  • Другим возможным решением, если вы используете asp.net версии 4, является использование статических имен идентификаторов на ваших элементах управления.

  • совет, на ваших страницах, в веб-браузере, щелкните правой кнопкой мыши |просмотрите исходный код, чтобы увидеть, как ваш элемент управления отображает (какой идентификатор они получают).

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