Как убедиться, что это значение ввода текста работает без JavaScript? - PullRequest
1 голос
/ 03 февраля 2011

ОК, поэтому я создаю окно поиска, значение которого исчезает при щелчке и возвращается, если вы щелкнете из поля поиска.Как и поиск по стеку, но если вы выключите поиск, значение вернется.Надеюсь, я проясняю (я очень мало знаю о javascript) ... Но для пользователей, у которых не включен javascript, как мне сделать это пустым вводом?Вот мой код

<INPUT type="text" name="q" value="Search using Business Name or Category..." onFocus="if(this.value == 'Search using Business Name or Category...') {this.value = '';}" onBlur="if (this.value == '') {this.value = 'Search using Business Name or Category...';}" />

Я подумал, что, возможно, мне следует сделать php, если JavaScript включен, но я посмотрел и не смог найти сценарии php?Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

6 голосов
/ 03 февраля 2011

Используйте атрибут placeholder, пожалуйста!

<INPUT type="text" name="q" placeholder="Search using Business Name or Category..." value="" />

Затем используйте функция обнаружения с JavaScript, чтобы заставить заполнитель работать в браузерах без поддержки атрибута заполнителя.

Например, используя Moderlizr с jQuery (не проверено):

// Add placeholder support for browsers which don't support it.
// TODO Special styling.
if (!Modernizr.input.placeholder) {
    $('input[placeholder][value=]')
        .each(function () {
            var $this = this;

            $this.val($this.attr('placeholder'));
        })
        .focus(function () {
            var $this = this;

            if ($this.val() === $this.attr('placeholder')) {
                $this.val('');
            }
        })
        .blur(function () {
            var $this = this;

            if ($this.val() === '') {
                $this.val($this.attr('placeholder'));
            }
        });
}
2 голосов
/ 03 февраля 2011

Установите начальное значение с помощью JavaScript (предполагается, что у вас есть идентификатор):

// Somewhere near the bottom of your document
document.getElementById("q").value = "Search...";

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

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