|
onzone ↓
|
 |
|
09 Сентябрь, 2010, 02:20:44
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 72 Сила слова: 0
|
Здравствуйте, изучаю jquery возникла такая проблема
$(function(){
$("#fr_sub").click(function(){
var errorList = [];
// Хэш с текстом ошибок (ключ - ID ошибки)
var errorText = {
1 : "Не заполнено поле 'Имя пользователя!",
2 : "Поле описание должно содержать не менее 5 символов!",
3 : "Этот пользователь уже существует в вашей адресной книге!"
}
var errorMsg = "При заполнении формы допущены следующие ошибки:\n\n";
if($("#login_fr").val() == "") {
errorList.push(1);}
else {
$.ajax({
type: 'POST',
data: 'login_fr='+$("#login_fr").val(),
url: 'usersreg/js/check_frname.php',
success: function(response) {
//==проблема вот в этом месте
if(response == "1") {errorList.push(3);}
//=======
}
});
}
if($("#op_fr").val().length <= 5) {
errorList.push(2);}
for (i = 0; i < errorList.length; i++) {
errorMsg += errorText[errorList[i]] + "\n";
}
if (!errorList.length)
{return true;}
else
{alert(errorMsg);}
});
});
Мне необходимо, чтоб после проверки добавлялся 3 элемент в массив errorList, как ни пробывал не получаеться, возможно проблема в том, что функция не видит его. Подскажите, пожалуйсто, как добавить этот 3 эемент в массив ошибок?
|
|
|
|
|
Записан
|
|
|
|
|
Chiffa ↓
|
 |
|
09 Сентябрь, 2010, 02:58:28 , спустя 37 минут 44 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи Карма: 21
Сообщений: 511 Сила слова: 4.11
|
всё функция видит:)
проблема скорее всего в самом респонсе. у вас проверка if(response == "1") вообще срабатывает? Спустя 3 минуты 37 секунд добавил на всяк случай, между и есть разница
|
|
|
|
|
Записан
|
Иногда решительный шаг вперед - следствие ощутимого пинка под зад... ALL code is ugly. Yours, mine, everyone's. Code Is Ugly. Just face it.
|
|
|
|
onzone ↓
|
 |
|
09 Сентябрь, 2010, 03:24:48 , спустя 26 минут 20 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 72 Сила слова: 0
|
Chiffa, Да проверка работает , сам код работает не заносит в массив , причина скорее всего в том что errorList выходит за область видимости переменных в данной функции, тоесть функция не понимает, что есть этот массив. Но это лично моё мнение , так как я в js не особо разбираюсь, но проверка срабатывает , я специально проверял через алерт.
|
|
|
|
|
Записан
|
|
|
|
|
Stasovsky ↓
|
 |
|
09 Сентябрь, 2010, 03:27:56 , спустя 3 минуты 8 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Сенсей XD
Группа: Джедаи Карма: 54
Сообщений: 3653 Сила слова: 1.48
|
а что консоль пишет? у тебя там в одном месте точки с запятой нет... и еще, ты хочешь, чтоб добавлялся третий элемент, а первые два добавляются?))
|
|
|
|
|
Записан
|
|
|
|
|
Chiffa ↓
|
 |
|
09 Сентябрь, 2010, 03:32:28 , спустя 4 минуты 32 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи Карма: 21
Сообщений: 511 Сила слова: 4.11
|
проверяю ваш код у себя - всё отлично добавляется. так что errorList вполне себе видим из функции...
сразу после errorList.push(3); выведите errorList.length
если выведет не undefind значит с видимостью массива всё в стопудовом порядке, и проблемма где-то дальше
Спустя 1 минуту 8 секунд добавил
а что консоль пишет?
да, действительно:)
|
|
|
|
|
Записан
|
Иногда решительный шаг вперед - следствие ощутимого пинка под зад... ALL code is ugly. Yours, mine, everyone's. Code Is Ugly. Just face it.
|
|
|
|
onzone ↓
|
 |
|
09 Сентябрь, 2010, 07:07:21 , спустя 3 часа 34 минуты 53 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 72 Сила слова: 0
|
Chiffa, , первые да щас проверю на errorList.length блин.
Stasovsky, покажи плз где нет точки с запятой, может пропустил я где я сравню со своим кодом =)
|
|
|
|
|
Записан
|
|
|
|
|
onzone ↓
|
 |
|
09 Сентябрь, 2010, 07:17:04 , спустя 9 минут 43 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 72 Сила слова: 0
|
Chiffa, попробовал видимость норм, выводит что добавлен 1 элемент, щас попробую вот так :
errorList.push(3);
alert(errorList.length)
да блин элемент заносит в массив. Эх, надо искать ошибку в коде ниже =((((
|
|
|
|
|
Записан
|
|
|
|
|
Chiffa ↓
|
 |
|
09 Сентябрь, 2010, 07:27:31 , спустя 10 минут 27 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи Карма: 21
Сообщений: 511 Сила слова: 4.11
|
onzone, не волнуйсь, от пропущеной точки-с-запятой таких приколов не бывает
|
|
|
|
|
Записан
|
Иногда решительный шаг вперед - следствие ощутимого пинка под зад... ALL code is ugly. Yours, mine, everyone's. Code Is Ugly. Just face it.
|
|
|
|
onzone ↓
|
 |
|
09 Сентябрь, 2010, 07:36:18 , спустя 8 минут 47 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 72 Сила слова: 0
|
Chiffa, тут в другом дело вообщем привожу пример как всегда =):
$(function(){
$("#fr_sub").click(function(){
var errorList = [];
// Хэш с текстом ошибок (ключ - ID ошибки)
var errorText = {
1 : "Не заполнено поле 'Имя пользователя!",
2 : "Поле описание должно содержать не менее 5 символов!",
3 : "Этот пользователь уже существует в вашей адресной книге!"
}
var errorMsg = "При заполнении формы допущены следующие ошибки:\n\n";
if($("#login_fr").val() == "") {
errorList.push(1);}
else {
$.ajax({
type: 'POST',
data: 'login_fr='+$("#login_fr").val(),
url: 'usersreg/js/check_frname.php',
success: function(response) {
if(response == "1") {errorList.push(3); alert(errorList.length);} //===тут при выполнении мы видим что добавлен 1 элемент
}
});
alert(errorList.length); //==идём дальше, видим ага, тут уже 0 элементов
}
if($("#op_fr").val().length <= 5) {errorList.push(2);}
for (i = 0; i < errorList.length; i++) {
errorMsg += errorText[errorList[i]] + "\n";
}
if (!errorList.length)
{return true;}
else
{alert(errorMsg);}
});
});
\\============если сделать так то будет работать! (есть ошибки писал наскоро!)
$(function(){
$("#fr_sub").click(function(){
var errorList = [];
// Хэш с текстом ошибок (ключ - ID ошибки)
var errorText = {
1 : "Не заполнено поле 'Имя пользователя!",
2 : "Поле описание должно содержать не менее 5 символов!",
3 : "Этот пользователь уже существует в вашей адресной книге!"
}
var errorMsg = "При заполнении формы допущены следующие ошибки:\n\n";
if($("#login_fr").val() == "") {
errorList.push(1);}
else {
$.ajax({
type: 'POST',
data: 'login_fr='+$("#login_fr").val(),
url: 'usersreg/js/check_frname.php',
success: function(response) {
//===Все дейсвия выпоняются внутри функции , что доказывает , что эта функция локальная, тоесть как я понимаю надо вернуть значение errorList.push(3);
if(response == "1") {errorList.push(3);
if($("#op_fr").val().length <= 5) {errorList.push(2);}
for (i = 0; i < errorList.length; i++) {
errorMsg += errorText[errorList[i]] + "\n";
}
if (!errorList.length)
{return true;}
else
{alert(errorMsg);}}
}
});
}
});
});
|
|
|
|
|
Записан
|
|
|
|
|
CTAPbIu_MABP ↓
|
 |
|
10 Сентябрь, 2010, 12:21:58 , спустя 16 часов 45 минут 40 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
мавр
Группа: в ухо Карма: не нужна
Сообщений: 5187 Сила слова: 1.81
|
есть ошибки писал наскоро!
да тут весь форум скорой писанины поэтому никто и не читает...
|
|
|
|
|
Записан
|
java.lang.OutOfMemoryError
|
|
|
|
onzone ↓
|
 |
|
10 Сентябрь, 2010, 05:12:57 , спустя 4 часа 50 минут 59 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 72 Сила слова: 0
|
CTAPbIu_MABP, ))))логично). Вчера целый день продолбался, но наконец всё поучилось=)
|
|
|
|
|
Записан
|
|
|
|
|