Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Замена дефолтного value у input при наборе (https://javascript.ru/forum/jquery/29573-zamena-defoltnogo-value-u-input-pri-nabore.html)

spo 03.07.2012 19:55

Замена дефолтного value у input при наборе
 
Имеется форма поиска с дефолным значением value:
<input type="text" value="Слово" />

Подключен скрипт который скрывает value когда поле в фокусе:
function hideValue() {
			var elem = $('#search-field');
			if (elem.size() > 0) {
				elem.each(function () {
					var defaultVal = $(this).val();
					$(this).focus(function () {
						if ($(this).val() == defaultVal) {
							$(this).val('');
						}
					}).blur(function () {
						if ($(this).val() == '') {
							$(this).val(defaultVal);
						}
					});
				});
			}
		}
		
		hideValue();

Помогите пожалуйста написать скрипт который будет менять значение value когда производится набор в поле. Или подскажите какие использовать методы и/или события: onchange, keydown ...?

vadim5june 03.07.2012 20:17

а как оно должно меняться?
value само меняется при наборе

spo 03.07.2012 20:57

Да, видимо это ошибки в скрипте в установке значений по умолчанию.

vadim5june 03.07.2012 21:03

Цитата:

Сообщение от spo (Сообщение 186114)
Да, видимо это ошибки в скрипте в установке значений по умолчанию.

у Вашего input видимо id должен быть
<input id="search-field" type="text" value="Слово" />

devote 03.07.2012 21:24

<input type="text" data-default="Введите имя" value="" />
<input type="text" data-default="Введите пароль" value="" />
<input type="text" data-default="Введите еще что-то" value="" />

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
    $("[data-default]").focus(function() {
        if ( this.value == this.getAttribute( 'data-default' ) ) {
            this.value = "";
        }
    }).blur(function() {
        if ( this.value == "" ) {
            this.value = this.getAttribute( 'data-default' );
        }
    }).blur();
});
</script>

ksa 04.07.2012 08:58

spo, для твоих "слов" можно вообще использовать
http://htmlbook.ru/html/input/placeholder

devote 04.07.2012 12:13

Цитата:

Сообщение от ksa
spo, для твоих "слов" можно вообще использовать
http://htmlbook.ru/html/input/placeholder

ну да и про пользователей ИЕ просто забыть


Часовой пояс GMT +3, время: 07:27.