2011-08-16 8 views
11

Próbuję zaimplementować sprawdzanie poprawności formularza html5 dla mojej aplikacji internetowej, ale nie działa z safari 5.0.1, iphone3 lub android2. Czy wymagany jest atrybut wejściowy formularza, wzorzec lub coś związanego z walidacją nieobsługiwaną przez te przeglądarki lub czy popełniam jakiś błąd?Sprawdzanie poprawności formularza HTML nie działa z iphone, android lub safari

Działa z mozilla, chromem i operą. Jeśli używam sprawdzania poprawności formularza html5, to znowu muszę napisać kod jako rezerwowe. Czy warto używać tej lub starszej wersji jako jquery i zwykłego javascript? Jeśli ktoś ma pomysł, proszę mi powiedzieć.

Proszę sprawdzić ten link (i trochę kodu) i spróbuj go w iPhone, Android lub safari:

http://24ways.org/examples/have-a-field-day-with-html5-forms/24ways-form.html

+5

Należy rozpocząć znakowanie właściwych odpowiedzi jako odpowiedź, jeśli chcesz, aby Twoje pytania należy odpowiedzieć w przyszłości. Ludzie próbują rozwiązać Twój problem. Najmniej można to docenić :) – NomadTraveler

Odpowiedz

16

Jeśli używasz jQuery, można spojrzeć na the h5Validate plugin. To dodaje obsługę różnych przeglądarek do sprawdzania poprawności formularzy aż do IE6. Według project's website:

  • regularnie testowane na 13 różnych przeglądarek, IE6 - IE9, Firefox, Chrome , iPhone i Android.

  • Implementuje najlepsze praktyki oparte na 1000 ankietach użytkowników, kilku badaniach użyteczności i zachowaniu milionów użytkowników w żywych środowiskach produkcyjnych .

Obsługiwane platformy:

  • Pulpit: IE 9, 8, 7, 6, Chrome, Firefox, Safari i Opera. Przetestowano na systemach Windows 7 i Mac: .

  • mobilne: iPhone, Android, Palm WebOS

+1

tak, zajrzałem do tego. to wspaniale. thanx. – prabhat

+1

+1 za sugestię wtyczki h5validate – RY35

2

Aby być jak cross-browser przyjazny, jak to możliwe, należy zawsze kod z oczekiwaniem, że platformy klient nie będzie miał wsparcia nowsze rzeczy, takie jak sprawdzanie poprawności HTML5. Tak więc, chociaż wykorzystanie możliwości nowszych przeglądarek jest wspaniałe i pozwala zapewnić użytkownikom znacznie lepsze wrażenia, nadal należy pamiętać, że nie każdy ma te same możliwości.

W związku z powyższym każda walidacja, którą wykonujesz w przeglądarce (z Javascriptem lub HTML5) jest tylko wygodą dla użytkownika i pozwala zaoszczędzić na połączeniach z serwerem. Należy wykonać walidację implementacji na serwerze, ponieważ bardzo łatwo można obejść sprawdzanie poprawności po stronie klienta. Moim preferowanym sposobem rozwijania jest sprawdzenie poprawności całkowicie po stronie serwera, a następnie, gdy jest ona trwała, dodanie opartej na javascript, a następnie sprawdzania poprawności opartej na HTML5, przy użyciu "progresywnego rozwoju" podejścia do progressive enhancement.

+0

Dzięki za ten fajny pomysł – prabhat

+0

@prabhat - Jeśli podana odpowiedź rozwiąże Twoje pytanie, lub jest najlepszą odpowiedzią na Twoje pytanie, zaznacz ją jako zaakceptowaną. Jeśli odpowiedź jest przydatna (nawet jeśli nie jest to odpowiedź, którą akceptujesz), zagłosuj na nią. – cdeszaq

4

Firefox i Opera zarówno wsparcie HTML 5, w szczególności walidację formularza ...

Właśnie spędziłem dwa dni pisząc jakiś nowy kod tylko uświadomić sobie, IE i Safari jeszcze nie realizować walidację HTML 5 ...

Mój wybór jest jasne, czy to ja Recode przy użyciu javascript (trudny jako forma są tworzone dynamicznie) lub powiedzieć wszystkim używać przeglądarki Firefox lub Opera, jeszcze walidacja nie jest realizowany ...

Mój wybór ... zachowaj mój aktualny kod i poczekaj, aż inni nadrobią ...

Firefox i IE10 obsługują niektóre z nich.

Opera i Chrome obsługują to wszystko.

Safari obsługuje je wszystkie, ale formularz sprawdzania poprawności jest domyślnie wyłączony.

Zaktualizuj ... Po prostu napisz post sugerujący, że Safari nie obsługuje sprawdzania poprawności formularza, nic dziwnego, że nie mogłem go znaleźć, by go włączyć?

+0

4 lata później, nadal nie stanowi formularza sprawdzającego (wtf safari?) – Frankenmint

0

Zrobiłem ten sam problem z aplikacją do poszukiwania pracy, którą właśnie buduję. Wtyczka h5Validate rozwiązała ten problem. To wtyczek w HTML5 otworów walidacji dla wielu przeglądarek i urządzeń:

  • Pulpit: IE 9, 8, 7, 6, Chrome, Firefox, Safari i Opera. Testowany na Windows 7 i Mac.
  • Komórka: iPhone, Android, Palm WebOS

Jeśli kiedykolwiek używane wtyczki walidacji jQuery, jest bardzo podobny. Pomyśl o tym jako o rozszerzeniu formularzy HTML5.

0

Dlaczego nie spróbujesz webshim? Miałem ten sam problem i teraz wszystko jest w porządku! Wystarczy pobrać bibliotekę, a następnie umieścić w projekcie folder js-webshim. Dołącz ten kod

<script src="js-webshim/minified/polyfiller.js"></script> 

<script> 
    webshim.activeLang('en'); 
    webshims.polyfill('forms'); 
    webshims.cfg.no$Switch = true; 
</script> 

Mam nadzieję, że to pomoże, jak również

Powiązane problemy