<MyRusakov.ru />

Создание движка на PHP и MySQL 2.0

Создание движка на PHP и MySQL 2.0

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC.

В курсе разобрана вся теория по структуре движка: как всё устроено, какие должны быть объекты, какая у них иерархия и как они взаимодействуют между собой.

В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru.

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

Подписавшись по 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 уже не нужны. Ещё не обязательно вообще весь функционал вызывать через таймер, а только ту часть, которая у Вас не хотела обновляться.
Профиль Ответить