<MyRusakov.ru />

Создание Интернет-магазина на OpenCart 2.0

Создание Интернет-магазина на OpenCart 2.0

Видеокурс "Создание Интернет-магазина на OpenCart 2.0" обучит Вас созданию любых Интернет-магазинов на OpenCart 2. В первом разделе курса разбираются абсолютно все возможности данного движка с примерами.

Во втором разделе создаётся полноценный Интернет-магазин, где Вы уже всё увидите своими глазами.

И, наконец, в третьем разделе курса созданный Интернет-магазин будет размещён в Интернете.

К курсу так же идут бесплатные и очень ценные Бонусы сопоставимые с самим курсом: "Как сэкономить на Яндекс.Директ до 50%", "Дропшиппинг" и "Как раскрутить Интернет-магазин".

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

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

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

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

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

Каким движком Вы предпочитаете пользоваться?

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

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

bo4kov

Продвинутый

Продвинутый

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

Сообщений: 63

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

Например есть такое поле:
<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

Сообщений: 63

Можете написать пример?
Профиль Ответить
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

Сообщений: 63

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

$("#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

Сообщений: 63

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

Вот мой код:

$(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

Сообщений: 63

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

Admin

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

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

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

Сообщений: 3063

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