Обработка ответов мобильной формы Jquery - PullRequest
0 голосов
/ 13 ноября 2011

У меня есть простая форма регистрации с использованием Jquery mobile & jquery-validate.

Если пользователь вводит правильное имя пользователя и пароль, я перенаправляю их на его панель управления. Если они пропускают поле, проверка на стороне клиента его забирает.

Моя проблема заключается в том, что проверка на стороне сервера отклоняет регистрацию пользователя. Например, имя пользователя полностью готово.

В этом случае я отображаю страницу на сервере с сообщением об ошибке.

На стороне клиента я вижу переход исходной страницы и переход новой страницы. На новой странице правильно отображается сообщение об ошибке. Однако мой сценарий инициализации проверки на стороне клиента не вступает в силу.

Я предполагаю, что на странице одновременно находятся два элемента с одинаковым идентификатором. Таким образом, старый снова запускается для проверки и затем удаляется.

Как мне справиться с этим?

Вот сценарий

$('#registerPage').live('pagecreate', function (event) {
    $("#registerForm").validate({
        rules: {
            username: "required",
            password: "required",
            confirmPassword: {
                required: true,
                equalTo: "#password"
            }
        }
    });
});

1 Ответ

1 голос
/ 13 ноября 2011

Исправлено использование новой страницы в качестве контекста для селектора проверки.

var rps = rps || {};
rps.register = rps.register || {};
rps.register.validate = function (context) {
    $("#registerForm", context).validate({
        rules: {
            username: "required",
            password: "required",
            confirmPassword: {
                required: true,
                equalTo: "#password"
            }
        }
    });
};

$(document).on('pageshow', '#registerPage', null, function (event, ui) { rps.register.validate(); });
$(document).on('pagehide', '#registerPage', null, function (event, ui) { rps.register.validate(ui.nextPage); });
...