Ромка!eu

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

форма

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

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

802
points

При разработке модуля 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
  • 41 комментарий
  • Читать далее
  • Quote
RSS-материал

Обо мне

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

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

  • AJAX. Обмен данными между клиентом и сервером, закачка на сервер файлов без перезагрузки страницы при помощи библиотеки jQuery.
  • Пример разработки плагина для модуля CCK
  • Темизация Drupal. Часть 1
  • Темизация Drupal. Часть 2. Анатомия темы оформления Drupal
  • Темизация Drupal. Часть 4. Темизация Views
  • Авторизация на Drupal-сайте с помощью аккаунта ВКонтакте
  • Темизация Drupal. Часть 3. Основы Drupal Forms API и темизация форм
  • Разработка сайта на Drupal. Часть 4. Пример разработки корпоративного интранет-сайта на Drupal
  • Вращение изображений при помощи Javascript
  • Кнопки Home, End и Page Up, Page Down в Mac OS

Подписка


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

  • Oz → Швабрашвабр2 → слабовато для
  • loan → Вращение изображений при помощи Javascript → answer this topic
  • CopelandLacey33 → Доставка → reply this post
  • vitsss → Авторизация на Drupal-сайте с помощью аккаунта вКонтакте → hostinh nic.ru and vk api
  • dimasikov → Автоматическая "газетная" верстка (верстка в несколько колонок) → Я похожее делал для с этим
  • max2012 → Разработка сайта на Drupal. Часть 2. Архитектура Drupal. → Подвесные потолки Опосля
  • Антон → Темизация Drupal. Часть 4. Темизация Views → Отлично!
  • Itsmypersonal → Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 2 — Пхукет → Пхукет - да!
  • Sheldon → Перетаскивание ячеек таблицы. Table drag and drop — плагин для jQuery → Здравствуйте! Подскажите
  • Sheldon → Home sheep home → Одна из тех игр в которые

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

  • Проба пера в HTML5 + canvas. Эффект ластика
  • Шесть рукопожатий
  • Доклад на DrupalConfMoscow 2011
  • Статусы разных сущностей в Друпале 6
  • Футер, прибитый к низу страницы
  • Путешествие по Перу и Боливии. Часть 2
  • Путешествие по Перу и Боливии. Часть 1
  • Несколько панорам из путешествия по Перу и Боливии
  • Авторизация на Drupal-сайте с помощью аккаунта ВКонтакте
  • Home sheep home

Тэги

dckyiev09 Drupal jquery Боливия Отдых Перу Работа Штуки-дрюки зима 2010 модуль статья темизация
еще тэги

Вход для пользователей

Что такое OpenID?
  • Войти по OpenID
  • Скрыть вход по OpenID
  • Зарегистрироваться
  • Запросить новый пароль

Навигация

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

Курсы валют

  • 100 Казахских тенге — 19,9970 (-0.24)
  • 10 Украинских гривен — 36,9677 (-0.49)
  • 10 Китайских юаней — 47,1500 (-0.56)
  • 100 Японских иен — 38,4449 (-0.79)
  • 1 Доллар США — 29,6795 (-0.41)
  • 1 Евро — 39,4767 (+0.02)
  • 10000 Белорусских рублей — 35,8016 (-0.14)
  • 1 Турецкая лира — 17,0200 (-0.13)

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

  • Путешествие по Перу и Боливии. Часть 1
  • Куба. Лето 2008. Часть 2
  • Куба. Лето 2008. Часть 5
  • Семинар "Управление сайтом с помощью CMS Drupal"
  • Рассуждение на тему «Сколько стоит сайт?»
  • Несколько статей о Друпале
  • Статья в PC Magazine/RE 11.2009: темизация Drupal
  • Несколько смешных картинок
  • Статья в PC Magazine/RE. Drupal: разработка модуля
  • Доклад на DrupalConfMoscow 2011

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

Я и разноцветные рыбы
Вид на Осло из замка Акерхус
Еще горы
Красная поляна
Здание замка Акерхус
В Сингапурском зоопарке. Леопардовая (бенгальская) кошка.
Вид на Осло-фьерд со стены замка
Без имени
Норвегия, Нордсетер
В Сингапурском зоопарке. Будда?
Старая и новая наши машины — пыжик и сузуки джимни
Друпликон и моя тень
В Сингапурском зоопарке. Попугай
Фонарь
Дольмен
И у люююбви у нааашеей сееела...
  • Отдых
  • Работа

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