<MyRusakov.ru />

Профессия Web-разработчик

Профессия Web-разработчик

Этот комплект за 8 месяцев превратит Вас в Web-разработчика с нуля. Учиться достаточно 1 час в день.

Начнёте Вы с HTML, CSS и вёрстки сайтов. Потом перейдёте к программированию и JavaScript. Затем изучите PHP, MySQL, SQL, Python. Изучите Web-фреймворки Laravel и Django. Создадите 5 своих сайтов для портфолио.

Комплект содержит:

- 540 видеоуроков

- 110 часов видео

- 1205 заданий для закрепления материала из уроков

- 5 финальных тестов

- 7 сертификатов

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Форум сайта MyRusakov.ru

Почему не подсвечивает поле в форме?
24.08.2012 13:25:13 Почему не подсвечивает поле в форме? Сообщение #1
bo4kov

bo4kov

Продвинутый

Продвинутый

Дата регистрации:
11.06.2012 11:21:31

Сообщений: 65

Почему не подсвечивает поле в форме?

Например есть такое поле:
<input type="text" id="name" name="name" class="someClass">


И есть js:

$("#name".change(function(){
name = $("#name".val();
var expName = /^[а-яёЁіІ \-]{2,30}$/gi;
var resName = name.search(expName);
if(resName == -1){

$("#name".next().hide().text("".css("color","red".fadeIn(400);
$("#name".removeClass().addClass("inputRed";
$("#login_result".fadeTo(200,0.1,function(){
$(this).html('У нас принято использовать настоящее имя, фамилию и отчество!').removeClass().addClass('error').fadeTo(900,1);
});

nameStat = 0;
buttonOnAndOff();

}else{
$("#name".removeClass().addClass("inputGreen";
$("#name".next().text("";
$("#login_result".removeClass('error').fadeOut(1);
nameStat = 1;
buttonOnAndOff();
}
});
$("#name".keyup(function(){
$("#name".removeClass();
$("#name".next().text("";
});
$('#name').each(function() {
$('#name').val('');
});



Когда в поле вводишь например цифры то оно подсвечивается красным, а если вводиш имя русскими буквами - то подсвечивается зелюным. Это все прекрасно работает, НО когда пользователь ввел имя русскими буквами, поле подсветилось зеленым, и пользователь захотел изменить уже правильный вариант на правильный новый вариант(например было Иван, а изменил на Олег), то поле уже зеленным не подсвечивается. Так вот, как сделать чтобы поле подсвечивалось?
Профиль
24.08.2012 23:16:35 Почему не подсвечивает поле в форме? Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Попробуйте функцию проверки вызывать через равные интервалы времени, а не по изменению текстового поля.
Профиль
26.08.2012 11:03:32 Почему не подсвечивает поле в форме? Сообщение #3
bo4kov

bo4kov

Продвинутый

Продвинутый

Дата регистрации:
11.06.2012 11:21:31

Сообщений: 65

Можете написать пример?
Профиль
26.08.2012 11:49:40 Почему не подсвечивает поле в форме? Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Имеется в виду вот так вызывать некую функцию check(), которая будет периодически проверять, что ввел пользователь.
setInterval(function(){check()}, 3000);
Профиль
27.08.2012 13:58:32 Почему не подсвечивает поле в форме? Сообщение #5
bo4kov

bo4kov

Продвинутый

Продвинутый

Дата регистрации:
11.06.2012 11:21:31

Сообщений: 65

Почемуто не работает. Я правильно прописываю?

$("#name".setInterval(function(){check()}, 3000);


Если не правильно, то исправте пожалуйста.
Профиль
27.08.2012 19:16:45 Почему не подсвечивает поле в форме? Сообщение #6
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Нет, должно быть именно так, как я написал. Только вместо функции check() подставляете свой обработчик. Он и будет вызываться с заданным интервалом.
Профиль
28.08.2012 13:52:33 Почему не подсвечивает поле в форме? Сообщение #7
bo4kov

bo4kov

Продвинутый

Продвинутый

Дата регистрации:
11.06.2012 11:21:31

Сообщений: 65

Почемуто не работает

Вот мой код:

$(function () {

function povtor() {

$("#name".change(function(){
name = $("#name".val();
var expName = /^[а-яёЁіІ \-]{2,30}$/gi;
var resName = name.search(expName);
if(resName == -1){

$("#name".next().hide().text("".css("color","red".fadeIn(400);
$("#name".removeClass().addClass("inputRed";
$("#login_result".fadeTo(200,0.1,function(){
$(this).html('У нас принято использовать настоящее имя, фамилию и отчество!').removeClass().addClass('error').fadeTo(900,1);
});

nameStat = 0;
buttonOnAndOff();

}else{
$("#name".removeClass().addClass("inputGreen";
$("#name".next().text("";
$("#login_result".removeClass('error').fadeOut(1);
nameStat = 1;
buttonOnAndOff();
}
});
$("#name".keyup(function(){
$("#name".removeClass();
$("#name".next().text("";
});
$('#name').each(function() {
$('#name').val('');
});
}
setInterval(function(){povtor()}, 1000);
});


Что я делаю не так?
Профиль
31.08.2012 18:25:40 Почему не подсвечивает поле в форме? Сообщение #8
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Интервал теперь правильно задали. Значит Ваша функция проверки не выполняется. Можете проверить алертом, вызывается ли она каждую секунду.
Профиль
31.08.2012 22:00:55 Почему не подсвечивает поле в форме? Сообщение #9
bo4kov

bo4kov

Продвинутый

Продвинутый

Дата регистрации:
11.06.2012 11:21:31

Сообщений: 65

Я проверил алертом все работает? alert высвечивается каждую секунду, а как мне сделать чтобы поле подсвечивалось? Где моя ошибка?
Профиль
01.09.2012 12:05:22 Почему не подсвечивает поле в форме? Сообщение #10
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Если Вы делаете через интервал, то Ваш обработчик переделать придется. $(element).change уже не нужны. Ещё не обязательно вообще весь функционал вызывать через таймер, а только ту часть, которая у Вас не хотела обновляться.
Профиль