2012-03-28 9 views
9

Stworzyłem aplikację w phonegap. W tagu wejściowym, jeśli podam type = 'text', działa dobrze. , ale gdy podaję typ wejścia = 'hasło', kolejne pole otwiera się do bieżącego pola.Rodzaj wejścia Phonegap hasło pole ostrości

jak mogę usunąć powyższe pole ..

mój css jest

.login-screen input.login {-webkit-border-radius:4px; width:90%; border:none; height:33px; -webkit-box-shadow: inset 0px 1px 2px 0px rgba(150, 150, 150, 0.9); 
-moz-box-shadow: inset 0px 1px 2px 0px rgba(150, 150, 150, 0.9); box-shadow: inset 0px 1px 2px 0px rgba(150, 150, 150, 0.9); padding-left:10px; margin-bottom:10px;} 

html

<td align="center"><input type="text" id="vEmail" name="vEmail" title="Enter Email" value="" alt="" class="login" /></td> 
     </tr> 
     <tr> 
     <td align="center" ><input type="password" id="vPassword" name="vPassword" title="Enter Password" value="" alt="" class="login"/></td> 
     </tr> 

mam nadzieję, że u można zrozumieć widząc ten obraz!

In screen other field is overlaying in password field

Jeśli usunąć i przewinąć swoją pracę dobrze ... w jaki sposób mogę zrobić to praca chociaż przewijania służy

+1

spróbuj usunąć zastępczy i testu – ghostCoder

+0

i trzeba zawsze zapewnić pewien kod, tak, że możemy na nią patrzeć :) –

+0

@ghostCoder posiadacz miejsce nie jest podana .. – Sandy09

Odpowiedz

7

udało mi się tego uniknąć używać androida: windowSoftInputMode = "adjustNothing". + Sandy09 ma rację co do pozycji overlay +. Wydaje się, że jedynym dobrym sposobem na uniknięcie tego jest uniemożliwienie androidowi przenoszenia zawartości na początku IME (adjustNothing), a także uniemożliwianie przemieszczania się zawartości wewnątrz widoku. To także wydaje się łamać wszystkie transformacje 3d/3d CSS3, nawet proste skale i pochodzenie transformacji może je zepsuć.

Są gorsze wieści: w pewnym momencie miałem skrzynki z hasłami, które działały bez zarzutu, potem z powodu zmian w CSS wróciły na stałe. W pewnym momencie, jeśli przeglądarka jest wystarczająco spowolniona (płótno), okno wydaje się tracić możliwość śledzenia pola wprowadzania. Dla nas to prowadziło do SIGSEGV za każdym razem, gdy naciskaliśmy 7 (siedem) klawisz na IME. To było na wszystkich urządzeniach z Androidem, niezależnie od wersji.

Poddałem się temu wszystkiemu i właśnie zrobiłem mój własny KeyboardView. Teraz jestem trochę szczęśliwsza.

+0

iScroll może je zepsuć, ponieważ porusza się trochę po otwarciu zawartości. Miałem kilka dziwnych wtyczek układu i przesuwałem moje pola wprowadzania pod rzeczywistą. –

+0

dziękuję @Colin za więcej informacji .. możesz sugerować, jak przygotować wtyczkę do tego ... można przygotować "Wtyczkę, która przewija do pola nakładki wraz z dolnym polem" – Sandy09

+0

, aby uzyskać do pracy, musiałem stworzyć niestandardową klawiaturę, użyłem addJavaScriptInterface (głównie poprzez Phonegap) w widoku webowym, aby umożliwić JS bezpośrednie rozmowę z Javą, obsłużyłem wszystkie zdarzenia dotykowe w polach wejściowych, wtedy mogłem w końcu przewinąć stronę do wejścia pudełko bez żadnych dziwnych wizualnych artefaktów. a true pain = \ –

1

Sprawdź ten skrzypce dla Logowanie/Rejestracja stron ... Zastosowanie hasło pole tak. jak podano w skrzypcach

http://jsfiddle.net/elijahmanor/3Rmdm/1/

+0

ten wciąż ma ten sam problem jak wyżej = \ (AT & T Atrix 2) –

+0

Przyjemne narzędzie .. @Coder_sLay – YuDroid

1

to nie jest problem z PhoneGap .. Ten problem występuje również w WebView .. na wielu urządzeniach takich jak (Samsung, Sony i emulator itp.) Pole hasła jest nakładane na inne pole, a pozostałe pola działają poprawnie. Powrót do HTC Ten numer pojawi się we wszystkich polach.

Zazwyczaj to pole nakładki pokrywa dokładnie dolne pole i wygląda jak tylko jedno pole. ale kiedy używamy iscroll, aby zastosować właściwość przewijania, niewłaściwe umieszczenie na tacy jak na powyższym rysunku.

rozwiązanie: skupienie na polu wyłączanie odświeżania iscroll i onblur iscroll jest rozwiązaniem tymczasowym, które działa poprawnie.

ale to nie jest właściwe rozwiązanie we wszystkich przypadkach.

czeka i próbuje za lepsze rozwiązanie ..

14

Oto prostsze rozwiązanie!

Zmień <input type="password" />

do

<input type="text" class="password-field" /> 

W arkuszu (ów) stylów CSS.

input.password-field { 
    -webkit-text-security: disc; 
} 

http://css-infos.net/property/-webkit-text-security

buduję PhoneGap (Cordova) Android app i spędziłem około 18 godzin do tej pory stara się znaleźć poprawkę, niszcząc instancji rodzaju iScroll robót jeśli pole hasło jest na ekran, a nie pod przewijanym obszarem ... Właściwość CSS w webkitowym zabezpieczeniu tekstu jest o wiele lepszą poprawką i zrobiłem pewne badania tej właściwości CSS i wygląda na to, że wszystkie wersje Androida uruchamiają webkit, więc powinieneś być dobry, aby przejść do wszystkie wersje Androida z tą poprawką!

+0

To działa doskonale dla mnie ... Dziękuję @Jason –

+0

Działa świetnie na hasło, ale nie ma sensu go używać, ponieważ można go przeczytać w sugestii pisowni. Czy istnieje sposób, aby to wyłączyć (nie w ustawieniach Androida, ale na stronie)? – DavidVdd