2012-03-28 22 views
9

Ho sviluppato un'applicazione in PhoneGap. Nel tag di input se do type = 'text' funziona bene. ma quando fornisco input type = 'password' un altro campo si sta aprendo al campo corrente.Tipo immissione ingresso password password campo focus

come posso rimuovere il campo sopra ..

mio css è

.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> 

spero u può capire di più vedendo questa immagine!

In screen other field is overlaying in password field

se mi tolgo la ho scorrere la sua bella pagina ... come posso farlo funzionare anche se ho scorrimento viene utilizzata

+1

provare a rimuovere il segnaposto e la prova – ghostCoder

+0

ed è necessario fornire sempre un po 'di codice in modo che possiamo guardare dentro :) –

+0

@ghostCoder segnaposto non è dato .. – Sandy09

risposta

7

sono stato in grado di evitare questo fare uso di Android : windowSoftInputMode = "adjustNothing". + Sandy09 ha ragione riguardo alla posizione overlay +. Sembra che l'unico buon modo per evitare questo è di impedire a Android di spostare i contenuti su IME start (adjustNothing), e anche di evitare che i contenuti all'interno della webview si spostino del tutto. Questo sembra anche spezzare tutte le trasformazioni 3D/3d di CSS3, anche le scale semplici e l'origine delle trasformazioni possono romperle.

Ci sono notizie peggiori: ad un certo punto ho avuto una password che funzionava bene, quindi a causa delle modifiche CSS è tornato in modo permanente. Ad un certo punto se il browser è rallentato abbastanza (tela) la finestra sembra perdere la sua capacità di tracciare la casella di input. Per noi, questo ha portato a SIGSEGV ogni volta che abbiamo premuto il tasto 7 (sette) sull'IME. Questo era su TUTTI i dispositivi Android, indipendentemente dalla versione.

Ho rinunciato a tutto questo e ho appena creato il mio KeyboardView. Sono un po 'più felice ora.

+0

IScroll potrebbe rompersi perché sposta le cose un po 'dopo che il contenuto è stato aperto. Ho avuto alcuni plugin di layout fuori di testa e spostare le mie caselle di input in giro sotto quella reale. –

+0

grazie a @Colin per ulteriori informazioni .. puoi per favore suggerire come preparare un plugin per questo..è possibile preparare "Un plugin che fa scorrere fino alla casella di sovrapposizione insieme al campo in basso" – Sandy09

+0

per farmi ottenere ha funzionato, ho dovuto creare una tastiera personalizzata, ho usato addJavaScriptInterface (principalmente tramite Phonegap) sulla webview per consentire a JS di parlare direttamente con Java, gestito tutti gli eventi touch su caselle di input, quindi ho potuto finalmente scorrere la pagina fino all'input scatola senza strani artefatti visivi. un vero dolore = \ –

1

Dai un'occhiata a questo violino per il login/iscrizione a lavorare ... . Usa campo password così come indicato nella violino

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

+0

questo ha ancora lo stesso problema di cui sopra = \ (AT & T Atrix 2) –

+0

Strumento piacevole .. @Coder_sLay – YuDroid

1

questo non è il problema con PhoneGap .. questo problema è anche si verifica in WebView .. in molti dispositivi come (samsung, sony ed emulatore, ecc.) Il campo della password è sovrapposto a un altro campo e il resto dei campi funziona correttamente. in arrivo su HTC questo problema aumenterà in tutti i tipi di campi ..

normalmente questo campo di sovrapposizione copre esattamente il campo inferiore e si presenta come un unico campo. ma quando usiamo l'iscroll per applicare la proprietà scrolling, l'ovelay si sposterà come nella figura sopra.

soluzione: onfocus sul campo disabilitare l'iscroll e onblur rinfrescare l'iscroll è una soluzione temporale che funziona bene.

ma questa non è la soluzione giusta in tutti i casi.

in attesa e cercando per soluzione migliore ..

14

Ecco una soluzione più semplice!

Change <input type="password" />

a

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

nel foglio di stile CSS (s).

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

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

Sto costruendo un PhoneGap (Cordova) app Android e ho trascorso circa 18 ore fino ad ora cercando di trovare una soluzione, distruggendo l'istanza tipo iScroll di lavori se il campo password è sul schermo e non sotto l'area di scorrimento ... La proprietà CSS di sicurezza del testo webkit è una soluzione molto migliore e ho fatto qualche ricerca su questa proprietà CSS e sembra che tutte le versioni di Android eseguano il webkit quindi dovresti essere bravo a fare tutte le versioni di Android con questa soluzione!

+0

Questo funziona benissimo per me ... Grazie @Jason –

+0

Funziona benissimo per la passwordbox, ma non ha senso utilizzarlo poiché puoi leggerlo nel suggeritore di spelling. C'è un modo per disabilitare anche questo (non nelle impostazioni di Android ma sulla pagina)? – DavidVdd