JQuery подтвердить - PullRequest
       3

JQuery подтвердить

1 голос
/ 12 сентября 2011

У меня есть многостраничная форма, использующая jQuery Validate.

На странице 1 у меня есть раскрывающийся список выбора, который, когда кто-то что-то выбирает, загружает правила для других полей ввода на той же странице.Моя проблема в том, что как только пользователь отправляет и переходит на страницу 2, и решает, что ему нужно что-то изменить, и ... он возвращается на страницу 1, и некоторые из правил не применяются, поэтому единственный способ - это повторно выбратьселектор для повторного применения этих правил проверки jquery.

Ответы [ 3 ]

0 голосов
/ 12 сентября 2011

ASP.NET MVC и частичная проверка на стороне клиента

Посмотрите на это.

Вы можете программно позвонить на номера $('#myform').validate() и $('#myform').valid(), чтобы узнать, верна ли форма, и перейти к следующему шагу.

$(".stepButton").live("click", function() {
    if (isValid(this)) {
        // code to proceed to next step
    }
});

function isValid(el) {
    var $thisform = $(el).parent().parent();
    $thisform.validate();
    return $thisform.valid();
}
0 голосов
/ 01 июня 2016

Вы должны использовать 2 формы, каждая с разным идентификатором, и объявлять набор правил проверки для каждой из них. Попробуйте адаптировать свой код к этому:

    var validationRules1 = {
        rules: {
            ...
        },
        messages: {
            ...
        }
    };

    var validationRules2 = {
        rules: {
            ...
        },
        messages: {
            ...
        }
    };

    var form1 = $('#form1');
    form1.submit(function () {
        form.validate(validationRules1);
        return form1.valid();
    });


    var form2 = $('#form2');
    form2.submit(function () {
        form.validate(validationRules2);
        return form2.valid();
    });

Надеюсь, это поможет

0 голосов
/ 12 сентября 2011

Вы можете сохранить выбранную опцию в сеансе php на странице 2:

session_start();
$_SESSION['yoursession'] = $_POST['option'];

На странице 1 вы добавляете переменную, которая сохраняет сеансы в вашем javascript.Используйте json_encode () для правильного экранирования:

<script type="text/javascript">
    <?php echo 'var option = "'.json_encode($_SESSION['yoursession']).'";';
</script>

Поэтому, если вы переходите на страницу 2, сеанс устанавливается с параметром, который был выбран на странице 1, и если вы вернетесь назад, содержимое сеанса будетсохранено в переменной.

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