Сбросить обязательные поля - jQuery - PullRequest
3 голосов
/ 18 мая 2011

У меня есть несколько полей, которые мне требуются в зависимости от того, какая кнопка нажата.Однако поведение, которое я наблюдаю, - это не то, чего я ожидал бы или желал.Когда я нажимаю одну из кнопок, она устанавливает необходимые поля, как мне бы хотелось, но затем, если я нажимаю другую кнопку, она по какой-то причине не сбрасывает их.

Код приведен ниже.Спасибо за любую помощь, вы можете предоставить:

function makeAllRequired() {
        $("#SomeForm").validate({
            rules: {
                StartDate: {
                    required: true,
                    date: true
                },
                Name: {
                    required: true
                }

            },
            errorElement: "div"
        });
    }

    function makeSomeRequired() {
        $("#SomeForm").validate({
            rules: {
                StartDate: {
                    required: true,
                    date: true
                }
            },
            errorElement: "div"
        });
    }

    $(document).ready(function () {
        $("#SomeButtonOne").click(function () {
            makeAllRequired();
            $("#SomeForm").attr("action", "/here/there");
            $("#SomeForm").submit();
        });
$("#SomeButtonTwo").click(function () {
            makeSomeRequired();
            $("#SomeForm").attr("action", "/here/elsewhere");
            $("#SomeForm").submit();
        });
});

Ответы [ 2 ]

1 голос
/ 18 мая 2011

Попробуйте сбросить форму перед установкой новых обязательных элементов: http://docs.jquery.com/Plugins/Validation/Validator/resetForm

0 голосов
/ 19 мая 2011

Я не уверен на 100%, но попробуйте сначала удалить правила, прежде чем применять новые

function makeAllRequired() {
    $("#SomeForm").rules("remove");
    $("#SomeForm").validate({
        rules: {
            StartDate: {
                required: true,
                date: true
            },
            Name: {
                required: true
            }

        },
        errorElement: "div"
    });
}

function makeSomeRequired() {
    $("#SomeForm").rules("remove");
    $("#SomeForm").validate({
        rules: {
            StartDate: {
                required: true,
                date: true
            }
        },
        errorElement: "div"
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...