2011-12-07 8 views
6

Tytuł jest całkiem jasny, jak sądzę?Jak ustawić maksymalną wartość na moim wprowadzeniu danych html5, aby mogła zostać rozpoznana przez Safari na iOS?

Oto moja data wejścia:

<input type="date" id="birthdate" name="birthdate" value="" max="1993-12-07" required/> 

w Chrome, nie mogę wprowadzić datę wyższą 1993-12-07 stosując małe strzały z pola (ale jeśli piszę datę sobie, że można).

W safari na iOS, skupienie tego pola przynosi po prostu ładny datepicker. Jednak ten datepicker NIE jest ograniczony do atrybutu "max". Jak mogę to zrobić? Oczywiście, mam sprawdzanie poprawności formularza po stronie serwera, ale chcę to zrobić również po stronie klienta. Każdy pomysł? Dzięki!

Odpowiedz

7

Safari jeszcze go nie obsługuje. Tylko Opera i chrome obsługują go od listopada 2011. Tak czy inaczej tutaj jest w3spec na nim http://www.w3.org/TR/html-markup/input.date.html#input.date.attrs.max

Możesz użyć sprawdzania poprawności js przy wysyłaniu lub przy zmianie. Użyj platformy sprawdzania poprawności js do wyboru

Oto czysty przykład js http://www.roseindia.net/answers/viewqa/Ajax/4734-start-date-and-end-date-validation-in-javascript.html. zamiast używać datę max daty zakończenia

Na rozwiązanie jquery Spójrz na to Validate that end date is greater than start date with jQuery

+1

Teraz, w październiku 2014 roku - Mobile Safari wsparcia max i min w terminie? –

+0

@VitalyZdanevich dowolny link do wsparcia – aWebDeveloper

+0

Nie znam żadnego linku - to było pytanie. –

0

znaleźć rozwiązanie dla dynamicznie wyłączyć przyszłe dat:

@{ string datestring = DateTime.Now.ToString("yyyy-MM-dd"); } 
<input type="date" 
     required="required" 
     name="AttendanceDate" 
     max="@datestring" 
     class="form-control" /> 
+0

Działa to dobrze na Androidzie, ale na iOS właściwości min i max nie są brane pod uwagę – FIZLIN

Powiązane problemy