Используя javascript на странице aspx, которая использует главную страницу, которая содержит страницу в форме? - PullRequest
0 голосов
/ 07 августа 2009

У меня есть главная страница, которая содержит все, что наследует ее в форме. Страница, унаследованная от нее, должна запустить некоторый JavaScript, чтобы воздействовать на текстовое поле на странице. Тем не менее, я не могу сослаться на это текстовое поле через javascript, так как форма начинается на главной странице.

Следующая строка будет поддельной:

document.form1.txtFindUser.value = blah.responseText;

Это потому, что form1 определен на главной странице, а txtFindUser на текущей странице.

Как можно справиться с этими ситуациями?

Ответы [ 3 ]

4 голосов
/ 07 августа 2009

Как насчет этого:

document.getElementById('txtFindUser').value = blah.responseText;

Но если txtFindUser - это идентификатор вашего серверного элемента управления, то вы должны использовать приведенный выше код так:

document.getElementById('<%= txtFindUser.ClientID %>').value = blah.responseText;
1 голос
/ 07 августа 2009

Элементы страницы не всегда имеют одно и то же имя во время выполнения, чем во время разработки в .NET. Просматривайте источник своей страницы, когда вы ее запускали, и смотрите, как вызывается txtFindUser после того, как он был интерпретирован IIS.

0 голосов
/ 07 августа 2009

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

var ctrl = '<%= txtBox1.ClientID %>';
document.getElementById(ctrl).value='Hello world';

См. этот пост для получения дополнительной информации

...