Могу ли я создать элемент управления вводом даты с разделителем даты для классического ASP - PullRequest
1 голос
/ 30 марта 2011

Я использовал элемент управления календаря для ввода даты в классическом ASP-приложении. Но управление календарем не дружественно к клавиатуре и требует больше времени для ввода данных. Поэтому позже я добавил простое текстовое поле с проверкой даты. Работает нормально. Тем не менее, пользователь должен также поставить разделитель даты. Я хочу поместить поле ввода даты, которое поставляется с предварительно сконфигурированным форматом даты и разделителем, чтобы пользователь просто вводил цифры и поле также вызывало проверку.

Как мне этого добиться?

Ответы [ 4 ]

4 голосов
/ 30 марта 2011

Просто используйте jQuery / javascript, чтобы замаскировать текстовое поле даты.Дата будет автоматически отформатирована, когда пользователь введет значения.Также вынуждает корректную проверку, как это работает.

например, плагины jQuery ищут:

маска даты jquery: http://digitalbush.com/projects/masked-input-plugin/

2 голосов
/ 30 марта 2011

Вы всегда можете поместить три текстовых поля с разделителем в виде текста (как я делаю на старом классическом сайте ASP)

enter image description here

Вам нужно отделить дату в ответе, а затем присоединить ее, используя DateSerial при публикации.

1 голос
/ 30 марта 2011

Когда мы создавали нечто подобное в прошлом, мы позволяли пользователю вводить дату в текстовое поле несколькими способами:

  • DDMMYYYY
  • D/ M / YYYY
  • 0 (на сегодня)

Когда форма была отправлена, у нас была простая функция ASP для преобразования DDMMYYYY в ДД / ММ / ГГГГ (строка даты должна быть 8символы, хотя, поскольку предположение было 2 цифры для DD, вставьте разделитель, 2 для MM и т. д.) и проверьте, что это была допустимая дата, и правило if formdate = 0 then formdate=now().

Вам необходимо добавить некоторую проверку JavaScriptна форме тоже, хотя.В текстовое поле добавьте событие onblur для проверки того же: либо введенные 8 цифр, либо действительная дата, либо 0, иначе предупредите пользователя.(Я бы сделал это в jQuery, если бы мы переделывали его сегодня)

Вы можете получить весьма полезную информацию о «валидации» Javascript, чтобы ускорить ввод данных, если вы хотите, например, если много датвведенные вчера или завтра разрешают -1 или +1, или, если ввод данных всегда для текущего месяца, но другого дня, позволяет пользователю просто ввести число - 15, а Javascript / jQuery преобразует строку в 15/03/2011.

0 голосов
/ 05 января 2018

С HTML 5 ... textMode = "Date"

<asp:TextBox ID="TextBoxDate" 
       runat="server"
       CssClass="form-control" Width="561px"
       TextMode="Date"> 
</asp:TextBox>
...