Отображение текста в поле HTML без отправки текста - PullRequest
1 голос
/ 11 февраля 2011

У меня есть HTML-форма, где у меня есть два поля: имя пользователя и пароль.

Теперь я хочу, чтобы «Имя пользователя» и «Пароль» появлялись внутри полей, чтобы указать пользователям, что вводить. В настоящее время я назначаю их, используя параметр value=, однако, если я отправляю форму, «Имя пользователя» "и" Пароль "тоже отправлены.

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

Спасибо! Krt_Malta

Ответы [ 3 ]

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

В HTML5 эта функция предоставляется и называется placeholder.В противном случае вы обычно используете библиотеку Javascript.

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

Хорошо, это в основном то, как я это делаю. Я размещаю метки внутри полей, затем, когда страница загружается, я сохраняю метки скрытым способом, используя .data (). Когда форма отправляется, если она содержит то же самое, что и в .data (), тогда я очищаю ее (или вы можете запретить отправку, если хотите заполнить поле)

$(document).ready(function(){

    // this will make sure we always remember what the values were:
    $("form.myform input[type='text']").each(function(){
        // I like to add a class as well, so I can make the label text in a lighter color
        if ($(this).val().length > 0) {
            $(this).data('label', $(this).val()).addClass('label');
        }

    });

    // this will clear the text when the input receives focus:
    $("form.myform input[type='text']").focus(function(){
        if ($(this).data('label') == $(this).val()) {
            $(this).val('').removeClass('label');
        }
    });

    // this will make sure the fields don't get submitted like that, but won't stop 
    // the form from being submitted....
    $("form.myform").submit(function(){
        $(this).find("input[type='text']").each(function(){
        if ($(this).val() == $(this).data('label')) {
            $(this).val('');
        }
    });
});

Я не запускал и не тестировал в браузере, но теоретически это должно работать (я делал это раньше)

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

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

Только не включайте его в скрипт php / asp, с которым вы отправляете форму.

- изменить -

Просто перечитайте свой вопрос. Я думаю, вы имеете в виду, что люди просто заходят на страницу и нажимают кнопку "Отправить", пока там указаны значения по умолчанию, да?

Если вы используете проверку (javascript или php / asp), чтобы запретить отправку «имени пользователя» и «пароля» для этих полей, им не разрешат отправлять форму без изменения значений внутри.

Это то, что вы имели в виду?

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