| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Вызов функций из функции |
| Автор: doctor2k 10.11.2013, 08:55 | ||||||||||
| Здравствуйте. У меня вопрос такой простой, ламерский, всю ночь ковыряю, не могу понять. Есть две функции:
Это первая. Она проверяет длину логина и доступность для регистрации (занят/свободен).
Это вторая. Она проверяет банально длину пароля. Далее мы делаем так:
Всё вроде банально и просто, при вызове checkAll() она дёргает две другие функции и если они возвращают true то всё ОК. Но это не работает! Пробовал выносить функции в разные if например так:
Или даже вот так:
Никакого результата. Это всё не работает. Если закомментить например checkLogin(), то проверка пароля проходит на ура, или если закомментить checkPass(), то проверка логина работает. Отдельно обе эти функции тоже работают нормально. Подскажите пожалуйста, что я делаю не так, и как правильно? Заранее спасибо. P.S. На сайте используется jQuery и Bootstrap, если это важно. Хотя не думаю, что в них дело. |
| Автор: doctor2k 10.11.2013, 09:41 |
| Активнее, товарищи, активнее, работа стоит... |
| Автор: DEER 10.11.2013, 13:38 |
| функция checkLogin, если проверка на длинну прошла, потом вернет не результат проверки свободен ли логин, а то, что возвращает $.post true там возвращает collback после обработки post запроса, но никак не функция checkLogin Вам надо логику переделать, чтобы, например пароль проверялся, если логин свободен, и если пароль ОК, то уже и говорить, что "Все ОК" |
| Автор: doctor2k 10.11.2013, 14:46 |
| Однако сама по себе checkLogin работает... Не сразу понял, что Вы имели в виду, но сейчас разобрался. Если объявить var result = false; перед строкой $.post а внутри функции в $.post присвоить ей true в случае успеха а в самом конце checkLogin возвращать result... По идее, тогда запрос надо асинхронным делать, иначе вернёт false и не будет ждать результатов $.post... В общем, сердечно благодарю |
| Автор: DEER 10.11.2013, 16:53 |
| Сама по себе работает скорее всего, потому что $.post вернет объект, а он не есть false но вот когда стоит условие if ( true && [Object] ) - тут js не понимает, что от него хотят - скорее всего ошибка какая то вылетала у вас |