Правильный мастер форм для сайта

LetItBit.net - Заработок для вебмастера

Пример добавления закладки в серис

1 экран · Мастер

URL:

Заголовок:

Описание:


Ключевые слова:

Этот скрипт позволит вам сгруппировать поля на форме по категориям и облегчить усвояемость информации пользователем. В случае желания, пользователь может заполнить все на одном экране. Делаем мастер заполнения форм.

Сначала пропишем в раздел HEAD скрипт управления мастером. Выглядит он так:

Code
<script type="text/javascript">
  prepMaster = function(){
    var i = 2;
    while(document.getElementById('mast' + i) != null){
      document.getElementById('mast' + i).style.display = 'none';
      i++;
    }
    aButs = document.getElementsByTagName('input');
    for(i = 0; i < aButs.length; i++){
      if(aButs[i].className == 'mastNavi'){
        aButs[i].style.display = 'inline';
      }
    }
  }
  showMastAll = function(){
    var i = 1;
    while(document.getElementById('mast' + i) != null){
      document.getElementById('mast' + i).style.display = 'block';
      i++;
    }
    aButs = document.getElementsByTagName('input');
    for(i=0; i < aButs.length; i++){
      if(aButs[i].className == 'mastNavi'){
        aButs[i].style.display = 'none';
      }
    }
  }
  goMast = function(inum){
    var i = 1;
    while(document.getElementById('mast' + i) != null){
      if(i != inum){
        document.getElementById('mast' + i).style.display = 'none';
      } else {
        document.getElementById('mast' + i).style.display = 'block';
      }
      i++;
    }
  }
</script>

Немого распишем, что означают эти функции:

  • prepMaster(); Эта функция подготавливает мастер форм к работе. Ее цель спрятать блоки, которые должны заполняться в следующих этапах работы с мастером.
  • showMastAll(); Цель функции - отобразить все блоки и спрятать кнопки перехода из одной страницы мастера в другую. Предназначена для того, чтобы пользователь мог работать в одностраничном режиме.
  • goMast(inum); - Функция перехода между блоками мастера форм. В качестве параметра inum используется порядковый номер блока, к которому нужно переходить.

Далее, в том же разделе HEAD, пропишем стиль, который скроет кнопки перехода по блокам мастера форм. Это нужно для того, чтобы пользователь, зашедший на страницу с выключенным запуском JavaScript, не видел кнопки перехода. Для такого пользователя форма будет одностраничной. Стиль должен выглядеть так:

Code
<style type="text/css">.mastNavi{display:none;}</style>

Теперь оформим сами блоки мастера форм. Для начала разбейте поля по логическим состовляющим. После, объедените в группы одинаковые логические еденицы. Например, ввод логина-пароля - это один блок, ввод информации о регионе, дате рождения и тому подобного - второй блок.

Пример описания блоков мастера форм. Его нужно вставлять туда, где он должен отображаться:

Code
<div style="border:1px solid #cccccc;padding:5px;width:300px;">
  <h3>Пример добавления закладки в серис</h3>
  <a href="javascript://" onclick="showMastAll();">1 экран</a>   &middot;
  <a href="javascript://" onclick="prepMaster();">Мастер</a><br><br>
  <form action="http://mark.szenprogs.ru/dir/0-0-0-0-1" method="get" target="_blank">
    <div id="mast1">
      URL: <input type="text" value="http://" name="url">
      <br><br>
      <input type="button" onclick="goMast(2);" value="Далее" class="mastNavi">
    </div>
    <div id="mast2">
      Заголовок: <input type="text" value="" name="title">
      <br><br>
      <input type="button" onclick="goMast(1);" value="Назад" class="mastNavi">
      <input type="button" onclick="goMast(3);" value="Далее" class="mastNavi">
    </div>
    <div id="mast3">
      Описание: <br><textarea cols="20" rows="5" name="text"></textarea>
      <br><br>
      <input type="button" onclick="goMast(2);" value="Назад" class="mastNavi">
      <input type="button" onclick="goMast(4);" value="Далее" class="mastNavi">
    </div>
    <div id="mast4">
      Ключевые слова: <input type="text" value="" name="keys">
      <br><br>
      <input type="button" onclick="goMast(3);" value="Назад" class="mastNavi">
      <input type="submit" value="Завершить">
    </div>
  </form>
</div>

Что нужно соблюдать, при создании блоков мастера форм:

  • Для отключения мастера и перехода в одностраничный режим нужно использовать следующее свойство тегов (можете привязать не только к ссылке, но и к картинке, и к тегу SPAN): onclick="showMastAll();"
  • Для возврата в мастер используем свойство тегов onclick="prepMaster();"
  • ID каждого блока мастера должен начинаться на mast + порядковое число блока. Для примера, ID третьего блока должен быть id="mast3". Нумерация блоков должна начинаться с еденицы и идти по возрастанию без прерываний. Скажем, если после блока №2 поставить блок №4, и при этом блок №3 нигде не существует, то скрипт мастера форм работать не будет.
  • Класс кнопок перехода должен равняться "mastNavi". Если Вы его не объявите, то при переходе в одностраничный режим кнопки перехода не скроются.
  • Для перехода к форме в мастере используйте свойство тега onclick="goMast(num);", где num - это порядковый номер блока, к которому должен переходить пользователь по нажатию на кнопке или картинке.

И в завершение, впишем в конец блока вызов функции, скрывающей блоки мастера, которые должны отобразится на следующем этапе:

Code
<script type="text/javascript">prepMaster();</script>

Теперь, пользователь Вашего сайта может заполнять формы не в один этап, списком, а в несколько, используя мастер форм.

На этом все.

rss



Здесь может быть ваша реклама!
Площадка №2. Стоимость 700 рублей в месяц.

Предложения отправлять через эту форму.

Мини-форум

№ 0Четверг, 13.08.2009 09:46
Szen
Аватар участника Szen
Здесь вы можете задать вопрос или оставить комментарий по теме "Правильный мастер форм для сайта".
Профиль
Учавствовать в обсуждении "Правильный мастер форм для сайта" могут только зарегистрированные пользователи.

Внимание

Все скрипты, инструкции, тесты, статьи и подборки, опубликованные в блоге портала, являются собственностью портала. Администрация портала не несет никакой ответственности за содержания статей и скриптов, но обязуется не публиковать материалы, нарушающие законодательство Российской Федерации, порнографию, инструкции по взлому и вскрытию. Администрация портала сама решает, кому помогать в решении какой-либо проблемы, а кому отказать в помощи. Цитируя наш текст и устанавливая опубликованные скрипты, вы соглашаетесь с тем, что используете продукт, созданный или подготовленный порталом SzenProgs. Портал SzenProgs оставляет за собой право менять инструкции, тесты, записи, подборки и скрипты по своему усмотрению и менять содержимое файлов, залитых на портале.

Любая, полная или частичная, публикация материала, размещенного в блоге портала SzenProgs, на другом стороннем от портала SzenProgs сайте должна сопровождаться ссылкой на источник.

Здесь может быть ваша реклама!
Площадка №3. Стоимость 500 рублей в месяц.

Предложения отправлять через эту форму.

Реклама
Ролевая бесплатная онлайн игра Carnage
Копилка
Прием пожертвований и благодарности
(SMS):


Копилка

(WebMoney):


День рождения
Поздравляем с днем рождения следующих друзей:
Kimblejcjqzz(40), denisbardas(15), stisurneybrit(49), faremiamume(46), NiteNearianep(40), Dik0n(24).
Желаем им счастья, здоровья, благополучия, любви и богатства!

С уважением, администрация сайта.
Holiday
Посетители
Статистика
Valid HTML 4.01 Transitional

Яндекс цитирования
Качество сайта...
Rambler's Top100
Business Key Top Sites




Каталог-Молдова - Ranker, Statistics



Онлайн всего: 19
Гостей: 19
Пользователей: 0
Кнопка портала
RSS лента Блога
RSS лента Каталога файлов
RSS лента Новостей
Личный блок
  • Гость портала.
  • Личных данных нет.
Вход на сайт
Регистрация
Софт
Заработок
Опрос
Во сколько оцените портал
Всего ответов: 895
Друзья портала
Остеопатия. Центр мануальной терапии "Янь" предлагает лечение. Клиника мануальной терапии.
дома из оцилиндрованного бревна фотогалерея
Ландшафтный дизайн дачных участков. Ландшафтный дизайн садовых участков.
Скачать программы для Windows

Many-FileS.RU - Скачать бесплатно музыку, фильмы, софт, книги без регистрации!

Работа в интернете
© 2009, SzenProgs
Администратор и дизайнер портала: Szen
Хостинг от uCoz