Фокус поля ввода типа телефонного промежутка - PullRequest
9 голосов
/ 28 марта 2012

Я разработал приложение в phonegap.Во входном теге, если я даю type = 'text', это работает хорошо.но когда я даю input 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>

Надеюсь, вы сможете понять больше, увидев это изображение!

In screen other field is overlaying in password field

если я уберу прокрутку, то она заработает нормально... как я могу заставить его работать, даже если используется прокрутка

Ответы [ 4 ]

14 голосов
/ 31 мая 2012

Вот более простое решение!

Изменение <input type="password" />

до

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

В ваших таблицах стилей CSS.

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

http://css -infos.net / недвижимость / -webkit-текст-безопасности

Я создаю приложение PhoneGap (cordova) ANdroid, и я потратил около 18 часов, пытаясь найти исправление, уничтожая работу экземпляра iScroll, если поле пароля находится на экране, а не под областью прокрутки. Свойство CSS безопасности текстового веб-комплекта исправлено гораздо лучше, и я провел некоторое исследование этого свойства CSS, и похоже, что во всех версиях Android работает веб-комплект, так что вам стоит попробовать все версии Android с этим исправлением!

7 голосов
/ 11 апреля 2012

Мне удалось избежать этого, используя android: windowSoftInputMode = "AdjustNothing" . + Sandy09 прав насчет позиции наложения +. Похоже, что единственный хороший способ избежать этого - предотвратить перемещение содержимого Android при запуске IME (AdjustNothing), а также предотвратить перемещение содержимого внутри веб-просмотра. Похоже, что это также нарушает все CSS3 3d / 3d преобразования, даже простые масштабы и источник преобразования могут сломать его.

Есть и худшая новость: в какой-то момент у меня нормально работали ящики с паролями, затем из-за изменений в CSS он вернулся навсегда. В какой-то момент, если браузер замедляется достаточно (холст), окно, кажется, теряет способность отслеживать поле ввода. Для нас это приводило к SIGSEGV каждый раз, когда мы нажимали клавишу 7 (семь) на IME. Это было на ВСЕХ устройствах Android, независимо от версии.

Я отказался от всего этого и просто сделал свой собственный KeyboardView . Теперь я немного счастливее.

1 голос
/ 07 апреля 2012

Это не проблема с PhoneGap .. эта проблема также возникает в веб-представлении .. во многих устройствах, таких как (samsung, sony, эмулятор и т. Д.), Поле пароля перекрывается другим полем, а остальные поля работают нормально.,Что касается HTC, эта проблема возникнет во всех типах полей.

обычно это поле наложения охватывает точно нижнее поле и выглядит как только одно поле.но когда мы применяем iscroll для применения свойства прокрутки, ошибка переопределения, как показано на рисунке выше.

решение: onfocus на поле отключает iscroll и onblur, обновляя iscroll, является временным решением, которое прекрасно работает.

но это не правильные решения во всех случаях.

ожидание и поиск лучшего решения ..

1 голос
/ 28 марта 2012

Проверьте эту скрипку на странице входа / регистрации .... Используйте поле пароля, как указано в скрипте

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...