【问题标题】:Phonegap input type password field focusphonegap 输入类型密码字段焦点
【发布时间】:2012-03-28 11:54:20
【问题描述】:

我在 phonegap 中开发了一个应用程序。 在输入标签中,如果我给出 type='text' 它效果很好。 但是当我输入 type='password' 时,另一个字段正在打开到当前字段。

我怎样才能删除上面的字段..

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

希望大家看到这张图能更明白!

如果我删除我滚动它的工作正常......即使我使用了滚动,我怎样才能让它工作

【问题讨论】:

  • 尝试删除占位符并测试
  • 而且您需要始终提供一些代码以便我们进行调查:)
  • @ghostCoder 占位符未给出..

标签: android cordova


【解决方案1】:

这里有一个更简单的解决方案!

改变 &lt;input type="password" /&gt;

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

在您的 CSS 样式表中。

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

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

我正在构建一个 PhoneGap (cordova) 安卓应用程序,到目前为止我花了大约 18 个小时试图找到一个修复程序,如果密码字段在屏幕上而不是在滚动区域下方,则会破坏 iScroll 实例类型的工作。 . webkit text security CSS 属性是一个更好的修复,我已经对这个 CSS 属性进行了一些研究,似乎所有的 Android 版本都运行 webkit,所以你应该很好地使用这个修复的所有版本的 Android!

【讨论】:

  • 它对密码框非常有用,但使用它没有意义,因为您可以在拼写建议中阅读它。有没有办法禁用它(不是在android设置中,而是在页面上)?
【解决方案2】:

我已经能够通过使用 android:windowSoftInputMode="adjustNothing" 来避免这种情况。 +Sandy09 关于覆盖 + 位置是正确的。避免这种情况的唯一好方法似乎是防止 android 在 IME 启动时移动内容(adjustNothing),同时也防止 webview 中的内容完全移动。这似乎也破坏了所有 CSS3 3d/3d 变换,即使是简单的 scales 和 transform-origin 也可以破坏它。

还有更糟糕的消息:在某些时候,我的密码框工作正常,然后由于 CSS 更改,它永久恢复了。在某些时候,如果浏览器速度足够慢(画布),窗口似乎失去了跟踪输入框的能力。对我们来说,每次我们按下 IME 上的 7(七)键时,都会产生 SIGSEGV。这也适用于所有 android 设备,无论版本如何。

我放弃了所有这些,只是创建了自己的KeyboardView。我现在有点开心了。

【讨论】:

  • iScroll 可能会破坏它,因为它会在内容打开后稍微移动一些东西。我有几个布局插件吓坏了,我的输入框在真实的下面移动。
  • 感谢@Colin 提供更多信息.. 能否请您建议如何为此准备插件.. 是否可以准备“一个使滚动到覆盖框和底部字段的插件”
  • 为了让它工作,我必须制作一个自定义键盘,在 webview 上使用 addJavaScriptInterface(主要通过 Phonegap)来允许 JS 直接与 Java 对话,处理所有的触摸事件在输入框上,然后我终于可以将页面滚动到输入框,而不会出现任何奇怪的视觉伪影。真正的痛苦=\
【解决方案3】:

查看登录/注册页面的这个小提琴...... 使用小提琴中给出的密码字段

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

【讨论】:

  • 这还是和上面一样的问题 =\ (AT&T Atrix 2)
【解决方案4】:

这不是Phonegap的问题..这个问题也出现在webview中.. 在许多设备(如三星、索尼和模拟器等)中,密码字段与另一个字段重叠,其余字段工作正常。 来到HTC,这个问题将在所有类型的领域中上升..

通常,此覆盖字段完全覆盖底部字段,并且看起来只有一个字段。 但 当我们使用iscroll应用滚动属性时,overlay错位如上图。

解决方案: onfocus on field 禁用 iscroll 和 onblur 刷新 iscroll 是一种工作正常的临时解决方案。

但这并不是在所有情况下都是正确的解决方案。

等待并尝试更好的解决方案..

【讨论】:

    猜你喜欢
    • 2013-02-24
    • 2018-02-24
    • 1970-01-01
    • 2014-10-27
    • 2016-12-28
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多