2014-08-27 2 views
0

Я хочу проверить текст ввода непосредственно на странице загрузки, но без добавления чего-либо в ввод его не работает. как это исправить?, если тип ввода не пуст, добавьте стиль css

<form action=""> 
    <input type="text" id="author" value="Bill"> 
</form> 

$("#author").keyup(function(){ 
    if($(this).val()) { 
     $("#author").addClass("notempty"); 
     /* if input is not empty do background yellow */ 
    } else { 
     $("#author").addClass("empty"); 
     /* else background is red */ 
    } 
}); 

демо http://jsfiddle.net/540dwmcn/

+0

Следует отметить, что вы можете просто сделать '$ (this) .toggleClass ('color', this.value.length)' – adeneo

ответ

2

Ваш код установлен, чтобы вызвать на событие KeyUp. Чтобы он также запускался при загрузке страницы, запускайте клавиатуру вручную, добавив в конец .keyup();.

jsFiddle example

Кроме того, вы, вероятно, хотите, чтобы очистить классы, а также (обратите внимание на использование .removeClass() в скрипкой)

$("#author").keyup(function() { 
    if ($(this).val()) { 
     $("#author").removeClass().addClass("notempty"); 
     /* if input is not empty do background yellow */ 
    } else { 
     $("#author").removeClass().addClass("empty"); 
     /* else background is red */ 
    } 
}).keyup(); 
0

DEMO

$("#author").keyup(function(){ 
    if($(this).val()) { 
     $("#author").addClass("notempty") 
     .removeClass("empty"); 
     /* if input is not empty do background yellow */ 
    } else { 
     $("#author").addClass("empty") 
     .removeClass("notempty"); 
     /* else background is red */ 
    } 
}).keyup(); 
Смежные вопросы