2011-09-15 24 views
8

Staram się znaleźć odpowiedź na ten. Dowiedziałem się, jak sprawić, by klawiatura pojawiła się w aplikacji internetowej, używając ciągu wzorców [0-9] *, ale pokazuje cyfry bez znaków dziesiętnych!iPhone Web App Number Pad z dziesiętnym

Ktoś ma rozwiązanie, proszę? :)

Dzięki!

+0

referuj http://stackoverflow.com/questions/773843/iphone-uiwebview-how-to-force-a-numeric-keyboard-is-it-possible –

+0

Nikunj pytanie brzmi "z dziesiętnym" – Simmoniz

Odpowiedz

4

klawiatura numeryczna z wejściem dziesiętnych został jedynie udostępniane natywnych aplikacji w iOS 4,1 (w szczególności rodzaj UIKeyboardTypeDecimalPad klawiatury w protokole UITextInputTraits). Poprzednio konieczne było hack wokół ograniczenia brakującego miejsca dziesiętnego przy użyciu UIKeyboardTypeNumberPad jako punktu początkowego.

Niestety, ta funkcjonalność nie wydaje się jeszcze przeniknąć do MobileSafari (lub UIWebView), a jedyna dokumentacja Apple dotycząca tej funkcji to here, która niestety tylko dokumentuje to, co już odkryłeś.

Jedną rzeczą, o której nie wspomina dokumentacja Apple, jest możliwość określenia <input type="number"> (nowej wartości atrybutu w HTML5), która uruchomi użytkownika na klawiaturze numerycznej i interpunkcyjnej, do której normalnie dostęp uzyskuje się po naciśnięciu klawisza ".? 123 "w lewym dolnym rogu domyślnej klawiatury tekstowej.

pewnie bym takie podejście do teraz i mam nadzieję, że wsparcie dla UIKeyboardTypeDecimalPad jest jakoś dodane w iOS 5.

(Nawiasem mówiąc, input elementy z ich atrybutem type ustawionym na number mają wspierać floating point numbers, jak na HTML5 spec. Podejrzewam, że właśnie dlatego Apple przedstawia w tym przypadku pełną klawiaturę - liczby zmiennoprzecinkowe mogą zawierać znaki minus i plus oraz małe litery lub wielkie litery 'E, z których żaden nie jest obsługiwany przez UIKeyboardTypeDecimalPad)

2

Problem z <input type="number"> jest to tylko exc ept integers. Znalazłem this gdzie wspomniał o dodaniu step="any" do tagu wejściowego. Teraz masz klawiaturę numeryczną i możesz wprowadzać miejsca dziesiętne.

+1

Nie wiesz, że możesz wpisać "dowolne" jako wartość kroku. Dziękuję Ci! Automatyczne sprawdzanie poprawności Chrome doprowadzało mnie do szaleństwa. – Staysee