Добавление поля формы, на примере дополнительных фотографий
JS Код:
Внутри формы тэг:
<script>
// <![CDATA[
var countOfFields = 1; // Текущее число полей
var curFieldNameId = 1; // Уникальное значение для атрибута name
var maxFieldLimit = 8; // Максимальное число возможных полей
function deleteField(a) {
if (countOfFields > 1)
{
// Получаем доступ к ДИВу, содержащему поле
var contDiv = a.parentNode;
// Удаляем этот ДИВ из DOM-дерева
contDiv.parentNode.removeChild(contDiv);
// Уменьшаем значение текущего числа полей
countOfFields--;
}
// Возвращаем false, чтобы не было перехода по сслыке
return false;
}
function addField() {
// Проверяем, не достигло ли число полей максимума
if (countOfFields >= maxFieldLimit) {
alert("Число полей достигло своего максимума = " + maxFieldLimit);
return false;
}
// Увеличиваем текущее значение числа полей
countOfFields++;
// Увеличиваем ID
curFieldNameId++;
// Создаем элемент ДИВ
var div = document.createElement("div");
// Добавляем HTML-контент с пом. свойства innerHTML
div.innerHTML = '<div class="form-group"><div class="col-md-offset-2 col-md-8 col-sm-12 col-xs-12"><label>Фотография</label><input id="image" type="file" maxlength="100000" class="form-control" name="Image' + curFieldNameId + '" /></div><div class="help-inline">[[+error.fi.Image]]</div></div>';
// Добавляем новый узел в конец списка полей
document.getElementById("addphoto").appendChild(div);
// Возвращаем false, чтобы не было перехода по сслыке
return false;
}
// ]]>
</script>
Внутри формы тэг:
<div id="addphoto"></div>