За последние 24 часа нас посетили 22398 программистов и 1024 робота. Сейчас ищут 598 программистов ...

Плагин превращения формы в "мастера"

Тема в разделе "Решения, алгоритмы", создана пользователем artoodetoo, 7 апр 2016.

  1. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.236
    Адрес:
    там-сям
    Понадобился мне "визард", такой чтобы вместо одной чудовищно огромной формы делал нарезку на шаги.
    Запилил плагинчик, взяв за основу пример из руководства. Сделал плагин более настраиваемым и дополнил примером с валидацией - в проверке кусочка формы есть свои сложности.

    [​IMG]

    live demo

    Код (PHP):
    1. var $signupForm = $( '#SignupForm' );
    2. // привязываем валидатор к форме            
    3. $signupForm.validate(); 
    4. // разбиваем форму на шаги по fieldset            
    5. $signupForm.formToWizard({
    6.     submitButton: 'SaveAccount',
    7.     nextBtnName: 'Forward >>',
    8.     prevBtnName: '<< Previous',
    9.     // колбэк для валидации перед переходом "вперед"
    10.     validateBeforeNext: function(form, step) {
    11.         var stepIsValid = true;
    12.         var validator = form.validate();
    13.         // валидируем конкретные элементы, только из текущего "шага"
    14.         $(":input", step).each( function(index) {
    15.             var x = validator.element(this);
    16.             stepIsValid = stepIsValid && (typeof x == 'undefined' || x);
    17.         });
    18.         return stepIsValid;
    19.     },
    20.     // колбек для отображения прогресса заполнения
    21.     progress: function (i, count) {
    22.         $("#progress-complete").width(''+(i/count*100)+'%');
    23.     }
    24. });
    Прошу любить: https://github.com/artoodetoo/formToWizard
     
    [vs] нравится это.
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    При вводе Billing information ввожу что попало в поля card number ничего не говорит и далее не идет.
    Сказал на всякий, может это важно.
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.236
    Адрес:
    там-сям
    Демо про сворачивание формы. Визард изначально вообще не предусматривал возможность валидации. БОльшая часть полей без правил.

    Но так-то можно всё, что умеет jquery validation.