Как вернуть значение ответа из .post () в мою функцию? - PullRequest
2 голосов
/ 01 декабря 2011

У меня есть некоторая проверка javascript, где я проверяю (среди прочего), принято ли письмо, но я не могу заставить его работать.

function validateField(input) {

    errors = false;
    messages = ''; //

    /*  Begin checks */

    if (input.hasClass('jEmailUnique')) {

        message = 'Email not taken';

        $.post('../ajax/j_validate.php', {

            step: 1,
            email: input.val()
        }, function(response){

            if (response != '0') {

                message = tipInvalid + message;

                errors = true;
            }
            else {

                message = tipValid + message;
            }

            messages += "<p>" + message + "</p>";
        });
    }

    /* End checks */

    if (errors == true) {

        input.addClass('jHasError').removeClass('jNoError');
    }
    else {

        input.addClass('jNoError').removeClass('jHasError');
    }

    setTip(input, messages); // show pop up window with error messages
}

Я теряю область действия messages в анонимной функции в post или что-то в этом роде?

1 Ответ

1 голос
/ 01 декабря 2011

Полагаю, я теряю объем сообщений в анонимной функции в сообщении.Как я могу пройти через это?

Нет, но вы все еще делаете это неправильно.Ваша переменная messages является глобальной.Возьмите var перед ним, чтобы охватить его функции.

Вам также необходимо вызвать setTip(input, messages) в обратном вызове, до этого messages будет undefined.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...