41 / 41 / 21
Регистрация: 11.01.2015
Сообщений: 143
1

Получить результат функции

17.03.2015, 00:43. Показов 1697. Ответов 1
Метки нет (Все метки)

Доброго времени суток.
Есть функция проверки одного из полей формы
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
function checkUsername() {
      
   var username = $("#username").val();
      
   if (username == "") {
      // действие ошибки
   }
   else if (username.length < 3) {
      // действие ошибки
   }
   else if (username.length > 12) {
      // действие ошибки
   }
   
   else {
      $.ajax({
         type: "POST",
         url: "/check.php",
         data: {username: username},
         success: function(data) {
            if (data == "username_exist") {
               // действие ошибки
            }
            else {
               // поле заполнено корректно
            }
         }
      })
   }
}
Таких полей несколько, функций соответсвенно. Нужно получить результат каждой функции и выполнить определенное действие, если все поля заполнены корректно.

return true - из вложенной функции (там где "поле заполнено корректно") ничего не возвращает.
Пробовал объявить переменную до начала функции и изменить ее в зависимости от результата, для дальнейшей проверки. В этом случае объявленная переменная остается пустой, функция ее не изменяет.
Как при помощи функции можно изменить эту переменную?
Есть ли другие способы, для реализации данной задачи?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2015, 00:43
Ответы с готовыми решениями:

Вытащить значение таблицы и получить результат
Ребят, помогите за меня сделать^_^ Есть таблица у таблицы 1 и более строк, у каждой последующей...

Ajax: как получить результат работы PHP файла?
Привет всем. Есть php файл который обрабатывается при добавлении товара в корзину. И возвращает...

Возврат результат из функции
На вход процедуры подаю ширину и долготу, но не могу понять как вернуть результат этот функции в...

Не всегда правильный результат функции
Почему-то все числа кроме 4 и 2 определяет правильно Два целых числа a и b называются взаимно...

1
z-z
170 / 169 / 56
Регистрация: 22.06.2011
Сообщений: 980
17.03.2015, 10:20 2
Mainstand, надо учитывать,что ajax-запрос все таки асинхронный и переменная поменяется не сразу, а как придет ответ с сервера. Можно попробовать хранить переменные для каждого поля, по возвращении ответа с сервера для определенного поля менять его личный флажок и заодно проверять остальные флажки, и если все флажки правильны, то сделать действие... попробую показать кодом

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// для начала объявляем общую переменную для флажков
var check = {
    login: false,
    pass: false
};
 
 
// дальше функция проверки
// опущу все кроме самого запроса
$.ajax({
    type: "POST",
    url: "/check.php",
    data: {username: username},
    success: function(data) {
        if (data == "username_exist") {
            // действие ошибки
        }  else {
            // поле заполнено корректно
            // меняем флажок
            check.login = true;
            // проверяем все флажки
            // если все правильны, то совершаем действие, иначе ничего не делаем
            if(check.login && check.pass) {
                // тут уже делаем все, что хотим =)
            }
        }
    }
})

А вообще, если подумать, в принципе почему бы не отсылать сразу все значения одним вопросом? И получать соответственно все ошибки одним ответом...

Тогда даже если в live режиме идет проверка, все будет нормально. Вот заполняем мы логин, а пароль еще не заполнен. Тогда сервер будет возвращать ошибку для пароля и возможно ошибку для логина. А "ненужные" ошибки для полей, которые в принципе еще не заполнялись, фильтровать по типу "пустое, то бишь не заполнялось еще"
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2015, 10:20

Результат функции не записывается в переменную
Добрый день. Обьясните, пожалуйста. Есть у меня функцкия var f1 = function(JSON_array, arrPushTo),...

Вывести результат переменной за пределы функции
Нужно вывести результат переменных за пределы функции для использования их в основном коде. У меня...

Как вернуть результат функции в литерал объекта
Всем здасьте, Пытаюсь написать скрипт рулетки. Ссылка на файлы Затык в следующем - при нажатии на...

Возврат responseText из XMLHttpRequest aka AJAX как результат работы функции
Вот как бы обычный Ajax запрос, на чистом JS. function ajax() { var xhr = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.