событие автозаполнения браузера - PullRequest
3 голосов
/ 11 февраля 2012

Я работаю на каком-то сайте, где у меня есть форма для входа.Я знаю, что люди могут сохранять свои имена пользователей и пароли на них в своих веб-браузерах.

Мне нужно показать / скрыть метку (<label></label>).если поле пустое, то должна появиться метка, если в поле есть какое-либо значение, то метка должна быть скрыта, но это не работает с автозаполнением браузера, есть ли я в любом случае отслеживать это?1005 * Я пытался с:

jQuery.change();

, но это не работает.

Могу ли я что-то сделать с этим, кроме отключения автозаполнения?

Ответы [ 3 ]

1 голос
/ 11 февраля 2012

Нормой здесь является использование атрибута placeholder в соответствующем элементе input :

<input type="text" placeholder="username">

username будет отображаться во вводе, когда нет текста, и скрыто в противном случае. Если вы используете это, то вам, вероятно, следует также использовать что-то вроде Modernizr , чтобы обнаружить поддержку и в противном случае создать нормальную текстовую метку.

0 голосов
/ 22 июля 2012

Вы должны вручную вызвать событие изменения:

$("#username")
.change(function () {
    // do stuff on change (check for default)
})
.trigger("change");

или используйте некоторую библиотеку водяных знаков, если вы хотите переключать текст по умолчанию (или атрибут заполнителя с Modernizr, как рекомендует aviraldg ).

0 голосов
/ 11 февраля 2012

Это очень просто.
Я использую это для текстовых полей моего сайта.

Эта кодировка в тексте Javascript.

  1. создайте <form> с именем и id = "comform" (вы можете изменить это позже; только для справки).
  2. создайте <input type = "text" с name и id = "Message" (вы можете изменить это позже; только для справки).
  3. создайте <div> с id = "ifsend" (вы можете изменить это позже; только для справки).

Также создайте переменную для хранения длины в нумерации. Var (вы можете изменить это позже; только для справки).

function counter() {
    var numbering;
    numbering = document.forms["comform"]["Message"].value.length;
    if (numbering == 0) {
        label();
    }
    if (numbering != 0) {
        document.getElementById('ifsend').innerHTML="";
    }
}

function label() {
    document.getElementById('ifsend').innerHTML="Your form value is empty";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...