DatePicker больше не работает после изменения веб-приложения C # для использования главной страницы - PullRequest
3 голосов
/ 23 февраля 2010

Я работаю над веб-приложением .Net / C # и использую календарь на основе JavaScript, чтобы пользователи могли выбирать даты. Это работало нормально.

Сегодня я изменил код, включив в него главную страницу, и средство выбора даты, которое вызывается с дочерней страницы, перестало работать, проблема в том, что текстовое поле, в которое возвращается дата, больше не действует из-за того, что объявление формы теперь сидит на главной странице.

Код href="javascript:;" onclick="calendarPicker('form1.TBApplyDate');" title="Select Date from Calendar">Select

"Строка ошибки: 1 Ошибка: 'window.opener.document.form1.TBApplyDate' является нулевым или не является объектом"

Я видел много примеров онлайн сбора идентификатора клиента текстового поля и передачи его в различных перестановках ниже, но я всегда получаю одну и ту же ошибку.

href="javascript:;" onclick="calendarPicker('ctl00_MainContent_TBApplyDate');" title="Select Date from Calendar">Select


href="javascript:;" onclick="calendarPicker(form1.<%=TBApplyDate.ClientID%>');" title="Select Date from Calendar">Select

1020 *
*

Может ли кто-нибудь помочь с успешной ссылкой на текстовое поле?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 23 февраля 2010

Это потому, что идентификаторы элементов "искажены" главной страницей

Я бы порекомендовал использовать jQuery и его селекторы, чтобы помочь вам получить необходимые элементы управления

В jquery вы можете получить такой элемент управления:

$('[id$=myContrl]')

Поэтому вы должны быть в состоянии сделать это

<a href="javascript:;" onclick="calendarPicker($('[id$=TBApplyDate]'));" title="Select Date from Calendar">Select</a>

Изменить: Вы также можете попробовать это

<a href="javascript:;" onclick="calendarPicker($('#<%= TBApplyDate.ClientID %>'));" title="Select Date from Calendar">Select</a>
0 голосов
/ 24 февраля 2010

Щелкните правой кнопкой мыши по своему браузеру и просмотрите источник и убедитесь, что идентификатор текстового поля и идентификатор, указанные в вашей подпрограмме jQuery, совпадают. Если нет, используйте ответ @ jmein, чтобы получить правильный идентификатор клиента текстового поля.

Если они одинаковые, значит, что-то не так с вашей настройкой jquery.

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