2012-03-28 12 views
9

Desarrollé una aplicación en phonegap. En la etiqueta de entrada si doy type = 'text' funciona bien. pero cuando doy input type = 'password', otro campo se abre al campo actual.Phonegap input type password field focus

¿Cómo puedo eliminar el campo de arriba ..

mi css es

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

espero u puede entender más al ver esta imagen!

In screen other field is overlaying in password field

Si quito la enrollo su página funciona bien ... ¿Cómo puedo hacer que funcione a pesar de que me desplazo se utiliza

+1

Prueba quitando el marcador de posición y la prueba – ghostCoder

+0

y hay que dar siempre algo de código para que podamos ver en él :) –

+0

@ghostCoder no se da lugar titular .. – Sandy09

Respuesta

7

que he sido capaz de evitar este estar usando Android: windowSoftInputMode = "adjustNothing". + Sandy09 tiene razón sobre la posición de superposición +. Parece que la única buena manera de evitar esto es evitar que Android mueva los contenidos en el inicio de IME (adjustNothing), y también evita que los contenidos dentro de la vista web se muevan. Esto también parece romper todas las transformaciones CSS3 3d/3d, incluso las escalas simples y el origen de la transformación pueden romperlo.

Hay peores noticias: en algún momento tuve cuadros de contraseña que funcionaban bien, luego, debido a cambios de CSS, regresaron de forma permanente. En algún momento, si el navegador se ralentiza lo suficiente (lienzo), la ventana parece perder su capacidad de rastrear el cuadro de entrada. Para nosotros, esto llevó a SIGSEGV cada vez que presionamos la tecla 7 (siete) en el IME. Esto fue en TODOS los dispositivos Android, independientemente de la versión.

Me rendí en todo esto y acabo de hacer mi propio KeyboardView. Estoy un poco más feliz ahora.

+0

iScroll podría estar rompiéndolo porque está moviendo las cosas un poco después de abrir el contenido. He tenido algunos plugins de maquetación y moviendo mis cuadros de entrada por debajo del real. –

+0

gracias @Colin para obtener más información ... ¿puede sugerir cómo preparar el complemento para eso ... es posible preparar "Un complemento que hace que se desplace al cuadro de superposición junto con el campo inferior" – Sandy09

+0

para que pueda obtenerlo? Para que funcione, tuve que hacer un teclado personalizado, utilicé addJavaScriptInterface (principalmente a través de Phonegap) en la vista web para permitir que JS hablara directamente con Java, manejé todos los eventos táctiles en los cuadros de entrada, y finalmente pude desplazar la página a la entrada caja sin artefactos visuales extraños. un verdadero dolor = \ –

1

Control hacia fuera este violín para el Inicio de sesión/Registro ... . uso campo de la contraseña de esa manera como se da en el violín

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

+0

esto todavía tiene el mismo problema que el anterior = \ (AT & T Atrix 2) –

+0

Buena herramienta .. @Coder_sLay – YuDroid

1

este no es el problema con Phonegap .. este tema es también ocurre en la vista web .. en muchos dispositivos como (samsung, sony, y emulator, etc.) el campo de contraseña está superpuesto con el otro campo y el resto de campos funciona bien. viniendo a HTC esta cuestión aumentará en todo tipo de campos ...

normalmente este campo de superposición cubre exactamente el campo inferior y se ve como un solo campo. pero cuando usamos el iscroll para aplicar la propiedad de desplazamiento, el extravío de superposición como en la figura de arriba.

solución: onfocus en el campo desactivar el iscroll y onblur refrescar el iscroll es una solución temporal que funciona bien.

pero esta no es la solución correcta en todos los casos.

esperando y tratando para una mejor solución ..

14

¡Aquí hay una solución más fácil!

Cambio <input type="password" />

a

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

En su hoja (s) de estilo CSS.

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

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

Estoy construyendo un PhoneGap (Córdoba) aplicación para Android y yo pasamos unas 18 horas hasta el momento tratando de encontrar una solución, la destrucción de la clase ejemplo iScroll de obras si el campo de la contraseña en el pantalla y no debajo del área de desplazamiento ... La propiedad CSS de seguridad de texto webkit es una solución mucho mejor y he hecho una investigación sobre esta propiedad de CSS y parece que todas las versiones de Android ejecutan webkit, así que deberías ir por todas las versiones de Android con esta solución

+0

Esto funciona muy bien para mí ... Gracias @Jason –

+0

Funciona muy bien para la contraseña, pero no tiene sentido usarla ya que puedes leerla en el sugerente de ortografía. ¿Hay alguna manera de desactivar esto también (no en la configuración de Android sino en la página)? – DavidVdd

Cuestiones relacionadas