Отключить маскировку пароля в поле пароля - PullRequest
2 голосов
/ 11 ноября 2011

Я хочу создать подсказки к полям формы, где значение по умолчанию показывает «Пароль», а в фокусе оно исчезает.Если поле теряет фокус без ввода данных, оно возвращает значение по умолчанию «Пароль».

Проблема: Значение по умолчанию для поля пароля также маскируется.Как я могу показать значение по умолчанию «Пароль», не маскируясь и маскируя только пользовательский ввод?

jQuery Code

$(".splash_register_short_input, .splash_register_long_input").each(function() {
    $(this).val( $(this).attr('title') );
});

$(".splash_register_short_input, .splash_register_long_input").focus(function() {
    if($(this).val() == $(this).attr('title')) {
        $(this).val('');
    }
});

$(".splash_register_short_input, .splash_register_long_input").blur(function() {
    if($(this).val() == '') { // If there is no user input
        $(this).val($(this).attr('title'));
        $(this).removeClass('splash_register_have_userinput');
    } else {    // If there is user input
        $(this).addClass('splash_register_have_userinput');
    }
});

HTML Code

<form id="splash_register_traditional_form">
    <input type="text" name="register_first_name" class="splash_register_short_input" title="First Name" /><label for="register_first_name"></label>
    <input type="text" name="register_last_name" class="splash_register_short_input" title="Last Name" /><label for="register_last_name"></label>
    <input type="text" name="register_email" class="splash_register_long_input" title="Email" /><label for="register_email"></label>
    <input type="password" name="register_password" class="splash_register_long_input" title="Password" /><label for="register_password"></label>
    <input type="submit" id="splash_register_signup_button" value="Sign up" />
</form>

Ответы [ 3 ]

5 голосов
/ 11 ноября 2011

Вы можете просто использовать HTML5 placeholder -атрибут:

<input type="password" placeholder="Enter Password..." />

Что касается отсутствия обратной совместимости, как упоминалось в комментариях, этот плагин-заполнитель jQuery в сочетании с каким-то резервным механизмом на случай, если атрибут не поддерживается (например, этот * 1008) *) может быть полезным.

2 голосов
/ 11 ноября 2011

Лучший способ сделать это - не устанавливать значение по умолчанию в качестве значения поля пароля, а в качестве поля наложения поверх пароля, которое исчезает при фокусе или когда пользователь меняет значение на что-то другое. Вы можете использовать существующие плагины jquery in-field-label, например,

http://www.viget.com/inspire/a-better-jquery-in-field-label-plugin/
http://fuelyourcoding.com/scripts/infield/
http://www.kryogenix.org/code/browser/labelify/

0 голосов
/ 07 августа 2013

Чтобы скрыть пароль программным способом, добавьте эту строку ниже, чтобы создать android.provider.Settings.System.putInt (this.getContentResolver (), android.provider.Settings.System.TEXT_SHOW_PASSWORD, 0);

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