Возможно вы искали: 'Strategic Command Worl...'

May 15 2025 18:53:59
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Создание динамических форм с помощью JavaScript (html javascript form)

Создание динамических форм с помощью JavaScript (html javascript form)

Ключевые слова: html, javascript, form, (найти похожие документы)

From: Дмитрий Верещака <dmitry@rsl.ru>
Newsgroups: email
Date: Mon, 28 Jul 2003 14:31:37 +0000 (UTC)
Subject: Создание динамических форм с помощью JavaScript


Создание динамических форм с помощью JavaScript


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

Без использования JavaScript эту задачу можно решить двумя путями:

1. Ограничить количество полей ввода каким-либо максимально разумным
числом. Например, количество людей, у которых число детей больше
5, относительно невелико. Однако этот способ несколько некрасивый
- во-первых, мы изначально загромождаем форму большим числом полей
ввода, причём, большинству пользователей понадобятся от силы два -
три первых, а во-вторых, мы всё-таки ограничиваем пользователя в
возможности указать полную информацию о себе - так, если форму
пожелает заполнить человек, у которого 10 сыновей, то некоторыми
из них ему придётся пожертвовать.

2. Осуществлять ввод информации поэтапно. Например, на первом этапе
предложить пользователю ввести количество фотографий, которые он
желает загрузить на сервер, а на втором этапе при помощи скрипта
на сервере сформировать форму с нужным количеством полей ввода.

Однако, используя JavaScript, мы можем облегчить пользователю ввод
информации о себе. Сделать это можно, например, следующим образом:

Пусть, для определённости, пользователю необходимо ввести информацию о
детях, а для упрощения примера - только имя и дату рождения. Со
стороны пользователя нам понадобится браузер, понимающий тэг <span> и
регулярные выражения, поддерживающий функцию getElementById объекта
document, а также понимающий свойство innerHTML, например, Internet
Explorer 4.0+ с установленой поддержкой DHTML (Будьте внимательны, по
умолчанию при установке IE версии ниже 5.5 поддержка DHTML отключена),
Konqueror 2.2+, Netscape 6, Mozilla начиная с M16.

Оформим ту часть формы, которая содержит информацию о детях, в виде
таблицы. В самой первой строке таблицы мы разместим названия столбцов
и добавим ещё одну ячейку, в которой разместим ссылку на добавление
ещё одной строки с полями ввода информации. Во второй строке таблицы
мы разместим сами поля ввода информации плюс ячейку со ссылкой на
удаление строки с информацией. Чтобы можно было отличить строку данных
от строки названий, добавим в тэг <tr> параметр id="newline" и номер
строки в квадратных скобках (чтобы было легче отличить номер строки от
символа 0) nomer="[0]". Затем поместим всю таблицу во внутрь тэга span
с каким-либо именем, например, table.
В итоге у нас должно получиться что-то вроде следующего HTML-кода:

<span id="table">
<table border=0 cellspacing=0 cellpadding=3>
<caption>Сведения о детях</caption>
<tr><td>Имя</td><td>Дата рождения</td><td>
<a href="#" onclick="return addline();">добавить</a></td></tr>
<tr id="newline" nomer="[0]">
<td><input type="text" name="name[0]"></td><td><input type="text" name="date[0]"></td>
<td valign="top"><a href="#" onclick="return rmline(0);">удалить</td></tr></table>
</span>

Чтобы вся эта конструкция заработала, необходимо еще написать две
функции на JavaScript: добавление новой строки и удаление ошибочно
добавленной строки. Причём, в данном примере предполагается, что
количество строк с данными может быть и нулевым, кроме того, у данной
реализации динамической формы есть недостаток: если удалить все
строки, то добавить строки уже будет нельзя.

<script>
var c=0; //счётчик количества строк
function addline()
{
c++; // увеличиваем счётчик строк
s=document.getElementById('table').innerHTML; // получаем HTML-код таблицы
s=s.replace(/[rn]/g,''); // вырезаем все символы перевода строк
re=/(.*)(<tr id=.*>)(</table>)/gi;
// это регулярное выражение позволяет выделить последнюю строку таблицы
s1=s.replace(re,'$2'); // получаем HTML-код последней строки таблицы
s2=s1.replace(/[d+]/gi,'['+c+']'); // заменяем все цифры к квадратных скобках
// на номер новой строки
s2=s2.replace(/(rmline()(d+))/gi,'$1'+c+')');
// заменяем аргумент функции rmline на номер новой строки
s=s.replace(re,'$1$2'+s2+'$3');
// создаём HTML-код с добавленным кодом новой строки
document.getElementById('table').innerHTML=s;
// возвращаем результат на место исходной таблицы
return false; // чтобы не происходил переход по ссылке
}
function rmline(q)
{
s=document.getElementById('table').innerHTML;
s=s.replace(/[rn]/g,'');
re=new RegExp('<tr id="?newline"? nomer="?\['+q+'.*?<\/tr>','gi');
// это регулярное выражение позволяет выделить строку таблицы с заданным номером
s=s.replace(re,'');
// заменяем её на пустое место
document.getElementById('table').innerHTML=s;
return false;
}
</script>

результат выполнения браузером вышеуказанного примера выглядит так:
http://www.opennet.ru/soft/js_form.html

Таким образом, мы обнаружили, что использование регулярных выражений в
JavaScript+DHTML открывает нам много новых возможностей для создания
удобного пользовательского интерфейса. В частности, данный приём
используется автором этих строк в интерфейсе администратора своего
сайта (http://dmitry.rsl.ru/) для добавления нескольких картинок к странице
в одной форме.
1243 Прочтений •  [Создание динамических форм с помощью JavaScript (html javascript form)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Создание динамических форм с помощь... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка