JQuery проверки формы AJAX при отправке, а затем продолжить для отправки формы - PullRequest
2 голосов
/ 03 марта 2011

Вот что я пытаюсь сделать,

Захватить отправку моей формы и отправить ее на мою обработку ajax для проверки формы (без перезагрузки страницы, очевидно)

тогда, если сервер ajaxСторона не возвращает массив ошибок (данные в коде ниже), продолжайте фактическую отправку формы.Возвращаемое значение false в нижней части фрагмента должно препятствовать поведению jquery по умолчанию (при отправке формы)

Я пробовал просто return true, если мы не получаем никаких ошибок, но это нене работает

Есть предложения?

Вот что я получил до сих пор:

$('.submit').click(function(e) {
    $.ajax({
        type: "POST",
        url: "/processform_ajax",
        data: $(':input').serializeArray(),
        dataType: "json",
        success: function(data) {
            if (data != '') {
                $("#response span").html("");
                $('.highlightbox').removeClass('highlightbox');
            } else {
                $('#myform').submit();
            }
        },
        error: function(error, txt) {
            alert("Error: " + error.status);
        }
    });
    return false;
});

1 Ответ

0 голосов
/ 03 марта 2011

Я справляюсь с этим двумя разными способами:

Сначала выполните проверку интерфейса с помощью замечательного встроенного инструмента проверки Jquery . Этот шаг устраняет 95% проблем, прежде чем приступить к работе с PHP и Jquery.

Во-вторых, я отправляю свои значения из формы в скрипт. Пусть PHP (в моем случае) «думает» о проверке. Если это неверно, я возвращаю эту информацию в строке json_encoded для функции успеха. Я строю случай (если data.valid == true например), то отображаю флаги ошибок. Иначе, сделайте шаги успеха и уведомите пользователя в пользовательском интерфейсе.

Я думаю, что ключом в вашем случае является обеспечение того, чтобы возвращаемые данные были json_encoded. К вашему сведению, я заметил некоторые очень случайные проблемы с json_encode, иногда вызывающие проблемы с функцией возврата данных из-за квадратных скобок, которые полностью действительны, но иногда вызывают ошибки без ошибок.

Удачи.

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