/ / Czy mogę utworzyć kontrolę wprowadzania daty z separatorem daty dla klasycznej ASP - html, asp-classic, datefield

Czy mogę utworzyć kontrolę wprowadzania danych z separatorem dat dla klasycznego ASP - html, asp-classic, datefield

Do wprowadzania daty korzystałem z kontroli kalendarzaw klasycznej aplikacji ASP. Ale kontrola kalendarza nie jest przyjazna dla klawiatury i zajmuje więcej czasu na wprowadzanie danych. Więc później dodałem proste pole tekstowe z walidacją daty. To działa dobrze. Jednak użytkownik musi także umieścić separator daty. Chciałbym umieścić pole wprowadzania daty ze wstępnie skonfigurowanym formatem daty i separatorem, dzięki czemu użytkownik po prostu wpisuje liczby, a pole powoduje również walidację.

Jak mogę to osiągnąć?

Odpowiedzi:

4 dla odpowiedzi № 1

Wystarczy użyć jQuery / javascript, aby zamaskować pole tekstowe daty. Automatycznie sformatuje datę, gdy użytkownik wprowadzi wartości. Wymusza także poprawne sprawdzanie poprawności działania.

na przykład wtyczki jQuery wyszukaj:

maska ​​daty jquery: http://digitalbush.com/projects/masked-input-plugin/


2 dla odpowiedzi nr 2

Zawsze możesz umieścić trzy pola tekstowe z separatorem jako tekst (tak jak w starej klasycznej witrynie ASP)

wprowadź opis obrazu tutaj

Musisz oddzielić datę w odpowiedzi, a następnie do niej dołączyć DateSerial po wysłaniu.


1 dla odpowiedzi nr 3

Kiedy stworzyliśmy coś podobnego w przeszłości, pozwoliliśmy użytkownikowi wprowadzić datę do pola tekstowego na kilka różnych sposobów:

  • DD / MM / RRRR
  • D / M / RRRR
  • 0 (na dziś)

Po przesłaniu formularza mieliśmy prostą ASPfunkcja do konwersji DDMMYYYY na DD / MM / RRRR (łańcuch daty musi mieć jednak 8 znaków, ponieważ założeniem było 2 cyfry dla DD, wstaw separator, 2 dla MM itd.) i sprawdź, czy była to poprawna data if formdate = 0 then formdate=now() reguła.

Musisz dodać sprawdzanie poprawności JavaScript na stronieforma też. W polu tekstowym dodaj zdarzenie onblur, aby sprawdzić, czy te same rzeczy - 8 wprowadzonych cyfr lub poprawna data lub 0 - w przeciwnym razie powiadom użytkownika. (Zrobiłbym to w jQuery, gdybyśmy to robili dzisiaj)

Dzięki Javascript możesz być bardzo pomocny„walidacja”, aby przyspieszyć wprowadzanie danych, jeśli chcesz, na przykład jeśli wiele wprowadzanych dat to wczoraj lub jutro, zezwalaj na -1 lub +1, lub jeśli wprowadzanie danych jest zawsze dla bieżącego miesiąca, ale innego dnia pozwala użytkownikowi po prostu wprowadzić liczbę - 15 i Javascript / jQuery konwertuje ciąg znaków na 15/03/2011.


0 dla odpowiedzi nr 4

Z HTML 5 ... textMode = "Data"

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