JQuery Remote Validation заставляет дважды щелкнуть, чтобы отправить форму - PullRequest
3 голосов
/ 22 января 2011

Я пытаюсь проверить поле формы удаленно.Если поле получает фокус, пока я на странице, все отлично работает.Однако, если поле никогда не получает фокус, форма требует, чтобы я дважды щелкнул кнопку «Отправить» для успешной отправки.

Я бы хотел, чтобы проверка выполнялась только в том случае, если полеполучает фокус или как-то мешает форме требовать двух кликов для отправки.У кого-нибудь есть идеи?

$("#form1").validate({
    rules: {
        project: {
            required: true,
            remote: "check.php"
        }
    },
    messages: {
        project: {
            required: "Required.",
            remote: "Check Failed."
        }
    },
});

<input type="text" name="project" id="project" value="X"/>

Ответы [ 4 ]

10 голосов
/ 27 июля 2012
Instead of making ajax setup to false you can just set "project" "remote" async to false like this

$("#form1").validate({
    rules: {
        project: {
            required: true,
            remote: {url:"check.php", async:false}
        }
    },
    messages: {
        project: {
            required: "Required.",
            remote: "Check Failed."
        }
    },
});
5 голосов
/ 03 октября 2012

Как называется ваша кнопка отправки?jQuery Validate не нравится имя «отправить».Я изменил название кнопки отправки на «отправитель», и проблема исчезла.Проверьте эту ссылку: https://github.com/jzaefferer/jquery-validation/issues/58

4 голосов
/ 10 мая 2011

Вы можете решить проблему, добавив:

$.ajaxSetup({
    async: false
});

Перед вызовом плагина проверки.

2 голосов
/ 28 ноября 2012

У меня была та же проблема, и удаленный: {url: "check.php", async: false} работал для меня.

...