При размещении CalendarExtender на странице возникает проблема, когда при нажатии на клавишу Enter в любом месте формы, календарь открывается. Это не всегда удобно, особенно при наличии на странице текстовых полей, или нескольких других CalendarExtender.
Инструкции
Решить проблему довольно просто, нужно указать в контейнере, в котором находится CalendarExtender, в параметр DefaultButton идентификатор кнопки, которая будет автоматически нажиматься при нажатии клавиши Enter. Параметр DefaultButton есть у таких контейнеров как: Form и Panel. Последний использовать наиболее удобней.
Код
<asp:Panel ID="pnl" runat="server" DefaultButton="btnSend">
Если убрать DefaultButton="btnSend", то при нажатии на клавишу Enter, будет появляться календарь.
<br />
Любое текстовое поле: <asp:TextBox ID="tbOtherTextBox" runat="server" Text="Поместите курсор в это поле и нажмите клавишу Enter, форма отправится, календарь не будет отображаться" /><br />
Дата: <asp:TextBox ID="tbDate" runat="server" MaxLength="10" Columns="12" />
<ajaxToolkit:CalendarExtender ID="ceDate" runat="server" Format="dd.MM.yyyy" TargetControlID="tbDate" />
<br />
<asp:Button ID="btnSend" runat="server" Text="Отправить" />
</asp:Panel>
Интернет-деятель. Автор многочисленных статей и переводов статей по программированию и информационным технологиям. Работы Алексея можно найти в популярных печатных изданиях компьютерной тематики. Автор проекта Kbyte.Ru. Сейчас Алексей занимается профессиональным Web-программированием на базе технологий .NET Framework. Иногда пишет различные программки и компоненты для Windows и Android. В свободное время занимается Web-дизайном, увлекается фото- и видеосъемкой.
Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.