дублирование компонента формы в php - PullRequest
1 голос
/ 28 февраля 2012

Я хотел бы создать простую форму с функцией дублирования поля формы / компонента.

Я искал по всей сети. Но я не мог найти подходящий учебник.

Например, мои поля формы содержат следующее.

1. Title
2. Email

3a. Image Name 
3b. Image Description
3c. Image file

3a, 3b, 3c - это группа здесь. Итак, давайте назовем это «группа изображений». Я хотел бы иметь дубликат ссылки под этой группой, где мои пользователи нажимают на нее и дублируют столько, сколько они хотят.

Вот пример того, что я спрашиваю. PS: я не хочу использовать jformer. Потому что он загружает весь скрипт и занимает много времени, чтобы загрузить страницу. Вот почему я задаю этот вопрос.

Спасибо

Ответы [ 2 ]

1 голос
/ 28 февраля 2012

Все, что вам нужно сделать, это написать функцию JavaScript, которая добавит новый набор элементов формы в данный контейнер.Примерно так:

<div id="imageforms">
    <fieldset id="firstimage">
       <input type="text" name="imagenames[]" />
       <textarea name="imagedescriptions[]"></textarea>
       <input type="file" name="imagefiles[]" />
    </fieldset>
</div>
<a href="#" onclick="addAdditionalImage(); return false;">add another image</a>

И тогда вам нужна функция JavaScript:

 function addAdditionalImage() {
      $('#imageforms').append($('#firstimage').clone());
 }

Наиболее интересная часть здесь - это использование name="xxx[]", которое говорит PHP создать массив иззначения формы.

1 голос
/ 28 февраля 2012

, так как вы пометили свой вопрос как связанный с jquery, вы должны взглянуть на метод клонирования здесь: http://api.jquery.com/clone/

вам нужно сгруппировать поля, которые могут дублироваться (скажем, заключить их в диапазон), чтобы у вас был селектор для всех них, клонировать и затем использовать методы, такие как append или prepend, чтобы «внедрить» те же самые элементы снова

вы должны использовать массивы для имен, если вы хотите обработать эти значения всторона сервера (тип ввода = "текст" имя = "имя_изображения []")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...