Создание скрытого html поля на лету

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

Для решения нашей задачи воспользуемся jQuery:

$('<input>').attr('type','hidden').appendTo('form');

Если же мы хотим добавить ещё парочку каких-то атрибутов и их значений, то можем написать код и так:

$('<input>').attr({
   type: 'hidden',
   id: 'foo',
   name: 'bar'
}).appendTo('form');

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://stackoverflow.com/questions/2408043/jquery-create-hidden-form-element-on-the-fly
Перевел: Станислав Протасевич
Урок создан: 30 Апреля 2016
Просмотров: 6460
Правила перепечатки


5 последних уроков рубрики "jQuery"

или авторизуйтесь, чтобы добавлять комментарии, оценивать уроки и сохранять их в личном кабинете
  • 30 Апреля 2016 06:39
    es.vlad
    Глупость какая-то, какой смысл клиенту добавлять скрытые поля?
    • 1 Мая 2016 16:14
      stas.protasevich
      Масса возможностей: записывать в форму поля, которые на странице не должны отображаться.. id транзакции, как вариант для интернет платежей и так далее. Можно найти уйму применений
      • 2 Мая 2016 09:25
        es.vlad
        Для чего использовать понятно, вопрос в другом, добавление полей реализуется тут на стороне клиента, а не сервера, и не ясно для чего клиенту понадобится их добавлять, так как они должны быть реализованы изначально на стороне сервера. Да и вообще урок как то глуповат. Я имею ввиду, что таким методом можно не только формы добавлять, да вообще всё что угодно добавить, и важным моментом будет добавление в конец родительского элемента, и данная реализация не пойдет если отсутствует <form>, а так же, если на странице несколько <form>, то элемент добавиться во все формы.
        • 2 Мая 2016 23:34
          stas.protasevich
          Они не обязательно должны быть на стороне сервера. Это вообще неважно. После отправки формы информация из этих полей будет на стороне сервера.
        • 3 Мая 2016 14:55
          igontarev
          Генерация формы на стороне клиента очень частая задача, например нужно N-ое колическо полей адресов, тогда юзер уже сам добавляет новое поле, если хочет указать еще одни адрес или еще один номер телефона
          • 5 Мая 2016 12:34
            es.vlad
            это-то понятно, я тут именно про скрытые поля, ясное дело, что даже эта форма для комментариев генерируется подобным образом
^ Наверх ^