2012-03-28 5 views
9

phonegap에 앱을 개발했습니다. 입력 태그에서 type = 'text'로 지정하면 잘 작동합니다. 하지만 입력 유형 = '암호'를 입력하면 다른 필드가 현재 필드로 열립니다.Phonegap 입력 유형 비밀번호 필드 포커스

내가 위의 필드를 제거 할 수있는 방법

..

내 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 내가 u는이 이미지를보고하여 더 많은 이해를 할 수 있기를 바랍니다

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

입니다!

In screen other field is overlaying in password field

i는 i가 그 작업을 잘 ... 내가

+1

은 자리 표시 자 및 테스트 – ghostCoder

+0

을 제거하려고 그리고 당신은 Google에서 조사 할 수 있도록 :) 장소 홀더가 제공되지 @ghostCoder –

+0

.. – Sandy09

답변

7

기다리고 더 나은 솔루션을위한 노력은 .. 안드로이드를 사용 : windowSoftInputMode = "adjustNothing"합니다. + Sandy09는 오버레이 + 위치에 대해 옳습니다. 이것을 피하는 유일한 좋은 방법은 안드로이드가 IME 시작 (adjustNothing)에서 내용을 이동하는 것을 방지하고 웹뷰의 내용이 전혀 움직이지 않도록하는 것입니다. 이것은 또한 모든 CSS3 3d/3d 변형을 깨뜨리는 것으로 보이며 심지어 간단한 축척과 변형 원점이 그것을 깨뜨릴 수 있습니다.

더 나쁜 소식이 있습니다. 어느 시점에서 암호 상자가 제대로 작동했는데 CSS 변경으로 인해 영구적으로 다시 나타났습니다. 어떤 시점에서 브라우저가 충분히 느려지면 (캔버스) Window는 입력 상자를 추적 할 수있는 능력을 잃어 버리게됩니다. 우리에게는 IME에서 7 (7) 키를 누를 때마다 SIGSEGVs가 발생했습니다. 이것은 버전에 상관없이 모든 안드로이드 장치에서도 발생했습니다.

나는이 모든 것을 포기하고 단지 내 자신을 만들었습니다 KeyboardView. 나는 조금 더 행복해.

+0

iScroll은 콘텐츠를 연 다음에 물건을 움직이기 때문에 깨뜨릴 수 있습니다. 몇 가지 레이아웃 플러그인을 사용하여 실제 상자 아래에서 입력 상자를 움직일 수 있습니다. –

+0

자세한 정보는 @Colin에 감사드립니다 .. 그 플러그인을 준비하는 방법을 제안 해주십시오. "가능하면 하단 필드와 함께 오버레이 상자로 스크롤하는 플러그인을 준비하십시오" – Sandy09

+0

그것은 작동하도록, 나는 JS를 Java로 직접 이야기하고, 입력 상자에서 모든 터치 이벤트를 처리 할 수 ​​있도록 webview에서 addJavaScriptInterface (주로 Phonegap을 통해)를 사용하여 사용자 정의 키보드를 만들어야 만했다. 그런 다음 입력 페이지로 스크롤 할 수 있었다. 상자에 이상한 시각적 인공물이 없습니다. 진정한 고통 = \ –

1

체크 아웃 로그인이 바이올린을 사용하는 스크롤하지만 그것도 작동 할 수있는 방법/등록 페이지를 스크롤 제거하면 ... 그런. 사용 암호 필드가 바이올린에 주어진 것은

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

+0

= \ (AT & T 위 등이 여전히이 같은 문제를 항상 몇 가지 코드를 제공해야 Atrix 2) –

+0

멋진 도구 .. @Coder_sLay – YuDroid

1

이 ..이 문제는 또한 웹보기에서 발생 ..폰갭과 함께 문제가되지 않습니다(samsung, sony, emulator 등) 많은 장치에서 암호 필드는 다른 필드와 겹치고 나머지 필드는 올바르게 작동합니다. HTC에이 문제는 모든 유형의 필드에서 발생합니다.

일반적으로이 오버레이 필드는 맨 아래 필드와 정확히 일치하며 하나의 필드처럼 보입니다. 그러나 우리가 스크롤 속성을 적용하기 위해 iscroll을 사용할 때, 위의 그림과 같이 ovelay가 잘못 놓입니다.

솔루션 : 필드에서 onfocus iscroll 및 onblur 비활성화 iscroll을 새로 고치는 것은 잘 작동하는 시간 솔루션입니다.

하지만이 모든 경우에 올바른 해결책은 아닙니다. 나는이 문제를 방지 할 수있었습니다

14

다음은 쉬운 해결책입니다!

변경 <input type="password" />

당신의 CSS 스타일 시트 (들)에서

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

합니다.

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

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

나는 폰갭 (코르도바) 안드로이드 응용 프로그램을 구축하고 그리고 난 암호 필드가에있는 경우 작품의 iScroll 인스턴스 종류의 파괴, 수정을 찾기 위해 노력하고 지금까지 약 18 시간을 보냈다 화면 아래 스크롤 영역이 아닌 ... 웹킷 텍스트 보안 CSS 속성은 훨씬 더 나은 수정이며이 CSS 속성에 대한 연구를 해본 결과 모든 Android 버전에서 웹킷을 실행하는 것처럼 보이므로 좋은 결과를 얻을 수 있습니다. 이 수정 사항과 함께 안드로이드의 모든 버전!

+0

이것은 저에게 잘 어울립니다. @Jason –

+0

감사합니다. passwordbox에는 잘 작동하지만 맞춤법 검사기에서 읽을 수 있기 때문에 사용의 요지는 없습니다. 너무 안드로이드 설정이 아닌 페이지에서 이것을 비활성화하는 방법이 있습니까? – DavidVdd

관련 문제