Ромка!eu

  • Отдых
  • Работа
Главная

Это старая (Drupal 6) версия сайта romka.eu. Она больше не обновляется, комментирование материалов отключено. Обновленная версия сайта доступна по адресу http://romka.eu.

форма

warning: Creating default object from empty value in /var/www/d6.romka.eu/modules/taxonomy/taxonomy.pages.inc on line 33.

Динамическое добавление элементов к форме

Ромка — Ср, 09/17/2008 - 17:02

При разработке модуля Inner poll возникла задача динамического добавления элементов к форме. С помощью библиотеки jQuery эта задача решается в два счета.

Для начала пишем функцию:

<?php
function addInput() {
  
/* default-id — скрытый элемент формы, из которого берется id для первого создаваемого элемента */
  
var id = document.getElementById("default-id").value;
  
id++;
  
/* в форму с именем testform добавляем новый элемент */
  
$("form[name=testform]").append('<div id="div-' + id + '"><input name="input-' + id + '" id="input-' + id + '" value="' + id + '"><a href="javascript:{}" onclick="removeInput(\'' + id + '\')">Удалить</a></div>');
  
/* увеличиваем счетчик элементов */
  
document.getElementById("default-id").value = id;
}
?>

Затем создаем форму:

<?php
<form name="testform" action="test.php" method="POST">
      <
input type="hidden" id="default-id" value="0">
      <
input type="submit" value="Отправить!">
</
form>
<
a href="javascript:{}" onclick="addInput()">Добавить текстовое поле</a><br>
?>

Вот и всё. Здесь размещен работающий пример. Кроме добавления элементов, также приведен пример их удаления.

  • Javascript
  • jquery
  • форма
  • Штуки-дрюки
  • Ромка's blog
  • 43 комментария
  • Читать далее
RSS-материал

Обо мне

Всем привет!
Меня зовут
Роман Архаров, я профессиональный веб-разработчик, программирую на языках PHP, Python и Action-Script, в работе использую фреймворки Drupal и Django. В этом блоге я размещаю заметки и статьи, связанные с моей работой, отдыхом и другими интересными мне темами.

Популярные заметки

  • Авторизация на Drupal-сайте с помощью аккаунта ВКонтакте
  • Перетаскивание строк таблицы. Table drag and drop — плагин для jQuery
  • Темизация Drupal. Часть 3. Основы Drupal Forms API и темизация форм
  • Темизация Drupal. Часть 4. Темизация Views
  • AJAX. Обмен данными между клиентом и сервером, закачка на сервер файлов без перезагрузки страницы при помощи библиотеки jQuery.
  • Кеширование на Drupal-сайте. Сравнение встроенного в Drupal кеша, статического файлового кеша (модуль Boost) и Varnish
  • Тестирование модуля "Inner poll"
  • Несколько панорам из путешествия по Перу и Боливии
  • Arduino + bluetooth, небольшая проблема
  • Пример разработки плагина для модуля CCK

Подписка


Последние комментарии

  • drupal-admin → Кеширование на Drupal-сайте. Сравнение эффективности встроенного в Drupal кеша, статического файлового кеша (модуль Boost) и Var → Отличная статья
  • Меховщиков Руслана → Проверка имени пользователя на наличие букв из разных алфавитов → Re: Читал про это уже на
  • Вероника → Куба. Лето 2008. Часть 3 → По поводу "приветливых жителей" Тринидада
  • Sfero → Статья в PC Magazine/RE. Drupal: разработка модуля → Немного о контенте
  • RemaGe → Статья в PC Magazine/RE. Drupal: разработка модуля → -)
  • Ромка → Статья в PC Magazine/RE. Drupal: разработка модуля → Да, будет сборка, та которую
  • RemaGe → Статья в PC Magazine/RE. Drupal: разработка модуля → -)
  • anatinge → Поездка в Киев → спасибо :)
  • Ромка → Поездка в Киев → Да, в общем-то, ничего
  • GogA → Поездка в Киев → Заинтриговал, что там за

Новые заметки

  • Кеширование на Drupal-сайте. Сравнение встроенного в Drupal кеша, статического файлового кеша (модуль Boost) и Varnish
  • Любопытное поведение модуля syslog в шестом Друпале (баг?)
  • Arduino + bluetooth, небольшая проблема
  • Гугл 1 марта прекратил поддержку сервиса Google Friend Connect
  • Проба пера в HTML5 + canvas. Эффект ластика
  • Шесть рукопожатий
  • Доклад на DrupalConfMoscow 2011
  • Статусы разных сущностей в Друпале 6
  • Футер, прибитый к низу страницы
  • Путешествие по Перу и Боливии. Часть 2

Тэги

Drupal jquery Куба Лето 2007 Лето 2008 Отдых Работа Штуки-дрюки лето модуль статья цитата
еще тэги

Навигация

  • Exchange rate
  • Переход по внешней ссылке
  • Последние сообщения
  • Фотогалереи

Курсы валют

  • 100 Казахстанских тенге — 21,3687 (-0.43)
  • 10 Украинских гривен — 27,2852 (-13.04)
  • 1 Китайский юань — 10,2706 (-40.98)
  • 100 Японских иен — 53,5332 (+12.67)
  • 1 Доллар США — 65,6210 (+33)
  • 1 Евро — 69,8076 (+29.42)
  • 10000 Белорусских рублей — 36,3310 (-2.51)
  • 1 Турецкая лира — 22,9540 (+4.99)

10 случайных заметок

  • Невероятный битбокс от Dub FX и Woodnote
  • Доставка
  • Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 0
  • Новый год 2008. Часть 1
  • Темизация Drupal. Часть 2. Анатомия темы оформления Drupal
  • Куба. Лето 2008. Часть 5
  • Кнопки Home, End и Page Up, Page Down в Mac OS
  • Темизация Drupal. Часть 1
  • Статья в PC Magazine/RE 11.2009: темизация Drupal
  • Лето 2007. Путешествие в Камбоджу – Таиланд – Малайзию. Часть 5. Острова Самуй и Панган, лето

Случайные фото

Парашютист в Варадеро
Тринидадские спортсменчики
Копенгаген, Кристиания, Граффити 3
Пеликан
Крым
Радуга над футбольным полем в Лужниках
Экзотическое меню в аэропорту :))
Гонщик
Море
Красная поляна
Вид на Осло из замка Акерхус
Буквы
Копенгаген, Кристиания, Граффити 5
Взгляд в будущее
Дерево в Прамбанане
Дорожка
  • Отдых
  • Работа

При использовании материалов с сайта, пожалуйста, ставьте ссылку на источник. E-mail для связи: mne@romka.eu.