ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

КАК Сделать

Главная

Меню

Панель значков Значок меню Аккордеон Вкладки Вертикальные вкладки Заголовки вкладок Вкладки полной страницы Вверх Навигация Отзывчивый Topnav Панель поиска Исправлена ​​боковая панель Боковая навигация Полноэкранная навигация Меню Off-Canvas Наведение с помощью кнопок Меню горизонтальной прокрутки Вертикальное меню Нижняя навигация Отзывчивый снимок Nav Ссылки на нижнюю границу Ссылки справа Центрированные ссылки меню Исправлено меню Слайд-шоу в прокрутке Скрыть Navbar в прокрутке Прикрепленное Navbar Выпадающие окна Hover Нажмите «Раскрывающиеся окна» Раскрытие в Топнаве Распространение в Сидене Откроется панель Navbar Dropup Mega Menu пагинация Панировочные сухари Группа кнопок Группа вертикальных кнопок Важная социальная панель Отзывчивый заголовок

Изображения

Слайд-шоу Галерея слайд-шоу Модальные изображения Лайтбокс Адаптивная Сетка изображения Сетка изображения Галерея вкладок Оверлей изображения Слайд с наложенным изображением Масштабирование наложения изображения Название наложения изображения Значок наложения изображения Эффекты изображения Черно-белое изображение Текст изображения Текстовые блоки изображений Прозрачный текст изображения Полное изображение страницы Форма на картинке Герой изображение Параллельные изображения Округленные изображения Аватар изображения Адаптивные образы Центрировать изображения Миниатюры Познакомьтесь с командой Липкое изображение Отражение изображения Встряхните изображение Портфолио галерея Портфолио с фильтрацией Масштабирование изображения Изображение увеличительное стекло Ползунок сравнения изображений

Кнопки

Кнопки оповещения Кнопки структуры Кнопки разделения Анимированные кнопки Кнопки затухания Кнопка на картинке Кнопки социальных сетей Кнопки загрузки Кнопки загрузки Значки Кнопки «Далее»/«предыдущий» Кнопки блокировки Текстовые кнопки Круглые пуговицы Прокрутка к верхней кнопке

Формы

Форма входа Форма регистрации Бланк заказа Контактная форма Форма для входа в социальную систему Форма регистрации Форма с иконками Бюллетень Адаптивная форма Очистить поле ввода Копировать текст в буфер обмена Анимированный Поиск Кнопка поиска Полноэкранный Поиск Настраиваемый флажок/Радио Выборочный выбор Тумблер Установите флажок Проверка пароля Переключение видимости паролей Форма с несколькими шагами Автозаполнения

Фильтры

Список фильтров Таблица фильтров Фильтрующие элементы Фильтр раскрывающегося списка Сортировать список Сортировка таблицы

Таблицы

Зебра полосатые таблицы Адаптивные таблицы Сравнительная таблица

Больше

Fullscreen Video Модальные коробки Шкала Индикатор прокрутки Строки хода выполнения Панель умений Ползунки диапазона Подсказки Popups Складной Календарь HTML вставка Список Погрузчики Звездв Рейтинг пользователей Эффект наложения Контактные фишки Карты Карточка профиля Оповещения Заметки Метки Круги Купон Отзывчивый текст Фиксированный нижний колонтитул Липкий элемент Одинаковая высота Clearfix Снэк-бар Прокрутка рисунка Липкий заголовок Таблица цен Параллакс Пропорции Переключение типа/не нравится Включить скрытие/отображение Переключение текста Переключение класса Добавить класс Удалить класс Активный класс Увеличить Hover Переход при наведении Стрелки Формы Окно браузера Настраиваемая полоса прокрутки Цвет заполнителя Вертикальная линия Анимация значков Таймер обратного отсчета Машинку Скоро страница Сообщения чата Разделить экран Отзывы Цитаты слайд-шоу Закрываемые элементы списка Типичные точки останова устройства Перетаскивание HTML-элемента Кнопка спуска на входе JS медиа запросы JS анимации Получить элементы IFRAME

Сайт

Создать веб-сайт Создать веб-сайт (BS3) Создать веб-сайт (BS4) Веб-сайт центра Контактная Секция

Сетка

2 расположение колонок 3 Расположение колонок 4 расположение колонок Разворачивание сетки Представление сетки списка Компоновка смешанных столбцов Макет блога

Google

Карты Google Карты Google BW Google перевести Google чарты Google шрифты

Конвертеры

Преобразовать вес Преобразовать температуру Преобразовать длину Конвертировать скорость

Как сделать - форму с несколькими шагами


Узнайте, как создать форму с несколькими шагами.


Мастер форм-многоступенчатая форма:

Register:

Name:

Contact Info:

Birthday:

Login Info:


Шаг 1) добавить HTML:

Пример

<form id="regForm" action="">

<h1>Register:</h1>

<!-- One "tab" for each step in the form: -->
<div class="tab">Name:
  <p><input placeholder="First name..." oninput="this.className = ''"></p>
  <p><input placeholder="Last name..." oninput="this.className = ''"></p>
</div>

<div class="tab">Contact Info:
  <p><input placeholder="E-mail..." oninput="this.className = ''"></p>
  <p><input placeholder="Phone..." oninput="this.className = ''"></p>
</div>

<div class="tab">Birthday:
  <p><input placeholder="dd" oninput="this.className = ''"></p>
  <p><input placeholder="mm" oninput="this.className = ''"></p>
  <p><input placeholder="yyyy" oninput="this.className = ''"></p>
</div>

<div class="tab">Login Info:
  <p><input placeholder="Username..." oninput="this.className = ''"></p>
  <p><input placeholder="Password..." oninput="this.className = ''"></p>
</div>

<div style="overflow:auto;">
  <div style="float:right;">
    <button type="button" id="prevBtn" onclick="nextPrev(-1)">Previous</button>
    <button type="button" id="nextBtn" onclick="nextPrev(1)">Next</button>
  </div>
</div>

<!-- Circles which indicates the steps of the form: -->
<div style="text-align:center;margin-top:40px;">
  <span class="step"></span>
  <span class="step"></span>
  <span class="step"></span>
  <span class="step"></span>
</div>

</form>


Шаг 2) добавить CSS:

Стиль элементов формы:

Пример

/* Style the form */
#regForm {
  background-color: #ffffff;
  margin: 100px auto;
  padding: 40px;
  width: 70%;
  min-width: 300px;
}

/* Style the input fields */
input {
  padding: 10px;
  width: 100%;
  font-size: 17px;
  font-family: Raleway;
  border: 1px solid #aaaaaa;
}

/* Mark input boxes that gets an error on validation: */
input.invalid {
  background-color: #ffdddd;
}

/* Hide all steps by default: */
.tab {
  display: none;
}

/* Make circles that indicate the steps of the form: */
.step {
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbbbbb;
  border: none;
  border-radius: 50%;
  display: inline-block;
  opacity: 0.5;
}

/* Mark the active step: */
.step.active {
  opacity: 1;
}

/* Mark the steps that are finished and valid: */
.step.finish {
  background-color: #4CAF50;
}

Шаг 3) добавить JavaScript:

Пример

var currentTab = 0; // Current tab is set to be the first tab (0)
showTab(currentTab); // Display the current tab

function showTab(n) {
  // This function will display the specified tab of the form ...
  var x = document.getElementsByClassName("tab");
  x[n].style.display = "block";
  // ... and fix the Previous/Next buttons:
  if (n == 0) {
    document.getElementById("prevBtn").style.display = "none";
  } else {
    document.getElementById("prevBtn").style.display = "inline";
  }
  if (n == (x.length - 1)) {
    document.getElementById("nextBtn").innerHTML = "Submit";
  } else {
    document.getElementById("nextBtn").innerHTML = "Next";
  }
  // ... and run a function that displays the correct step indicator:
  fixStepIndicator(n)
}

function nextPrev(n) {
  // This function will figure out which tab to display
  var x = document.getElementsByClassName("tab");
  // Exit the function if any field in the current tab is invalid:
  if (n == 1 && !validateForm()) return false;
  // Hide the current tab:
  x[currentTab].style.display = "none";
  // Increase or decrease the current tab by 1:
  currentTab = currentTab + n;
  // if you have reached the end of the form... :
  if (currentTab >= x.length) {
    //...the form gets submitted:
    document.getElementById("regForm").submit();
    return false;
  }
  // Otherwise, display the correct tab:
  showTab(currentTab);
}

function validateForm() {
  // This function deals with validation of the form fields
  var x, y, i, valid = true;
  x = document.getElementsByClassName("tab");
  y = x[currentTab].getElementsByTagName("input");
  // A loop that checks every input field in the current tab:
  for (i = 0; i < y.length; i++) {
    // If a field is empty...
    if (y[i].value == "") {
      // add an "invalid" class to the field:
      y[i].className += " invalid";
      // and set the current valid status to false:
      valid = false;
    }
  }
  // If the valid status is true, mark the step as finished and valid:
  if (valid) {
    document.getElementsByClassName("step")[currentTab].className += " finish";
  }
  return valid; // return the valid status
}

function fixStepIndicator(n) {
  // This function removes the "active" class of all steps...
  var i, x = document.getElementsByClassName("step");
  for (i = 0; i < x.length; i++) {
    x[i].className = x[i].className.replace(" active", "");
  }
  //... and adds the "active" class to the current step:
  x[n].className += " active";
}