Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Отправление динамических форм (https://javascript.ru/forum/events/29436-otpravlenie-dinamicheskikh-form.html)

Эльхор 27.06.2012 22:39

Отправление динамических форм
 
Доброго времени суток. Не уверен, что обращаюсь по адресу, но может хоть идею кто подкинет. Вопрос такой: В форме плагина chronoforms создал динамически добавляемые поля, но при отправке формы они не добавляются в шаблон и соответственно не приходят на почту. Можно ли реализовать их сохранение средствами яваскрипта?

cyber 27.06.2012 22:53

вам нужно отправлять данные генерированные js?

Эльхор 28.06.2012 00:11

Js генерирует поля, пользователь их заполняет и всё это дело идёт на почту.

cyber 28.06.2012 00:13

а можно пример кода или ссылку на страницу?
а то экстрасенсы на море..

Эльхор 28.06.2012 10:16

http://www.arbitr-spb.ru/on-line/ - должно получиться как в этой заявке в пункте про учредителей.

Я добавляю поля таким кодом:
var countOfFields = 1;
  var curFieldNameId = 1;
  var maxFieldLimit = 100;
  function deleteField(a) {
  var contDiv = a.parentNode.parentNode;
  contDiv.parentNode.removeChild(contDiv);
  countOfFields--;
  return false;
}
function addField() {
  if (countOfFields >= maxFieldLimit) {
    alert("Число полей достигло своего максимума = " + maxFieldLimit);
    return false;
  }
  countOfFields++;
  curFieldNameId++;
  var div = document.createElement("div");
  div.innerHTML = "<p>Ф.И.О.:<input  type=\"text\" name=\"edate_"+curFieldNameId+"\"  id=\"edate"+curFieldNameId+"\" class=\"textfield\" style=\"width:  100px;\" /></p>"+"<p>Паспортные данные:<input  type=\"text\" name=\"odate_"+curFieldNameId+"\"  id=\"odate"+curFieldNameId+"\" class=\"textfield\" style=\"width:  100px;\" /></p>"+"<p>Доля уставного капитала:<input type=\"text\" name=\"einst_"+curFieldNameId+"\"  id=\"einst"+curFieldNameId+"\" class=\"textfield\" style=\"width:  200px;\" /></p>"+"<p>ИНН:<input  type=\"text\" name=\"faq_"+curFieldNameId+"\"  id=\"faq"+curFieldNameId+"\" class=\"textfield\" style=\"width: 100px;\"  /></p>"+"<p><input onclick=\"return  deleteField(this)\" type=\"button\" value=\"Удалить\" /></p>";
  document.getElementById("parentId").appendChild(div);
  return false;
}



Ну и вывод:

<div id="form">
<form action="http://reestr-law.ru/index.php?option=com_content&view=article&id=34&chronoform=reg&event=submit" method="post"  enctype="multipart/form-data">
<div class="many">
<p>Учредители</p>

<div id="parentId">
    <div>
      <p>
      Ф.И.О.:
      <input type="text" name="edate_0" id="edate0" value="" class="textfield" style="width:100px" />
      </p>
      <p>
      Паспортные данные:
      <input type="text" name="odate_0" id="odate0" value="" class="textfield" style="width:100px" />
      </p>
      <p>
      Доля уставного капитала:
      <input type="text" name="einst_0" id="einst0" value="" class="textfield" style="width:200px" />
      </p>
      <p>
      ИНН:
      <input type="text" name="faq_0" id="faq0" value="" class="textfield" style="width:100px" />
      </p>
    </div>
</div>
</div>
<div style="clear: both">
<input onclick="return addField()" type="button" value="Добавить учредителя" />
    <div><input type='button' name='save'  value='Сохранить' class='butt' /></div>
</div>
</form>
</div>


По идее по нажатию на кнопку сохранить данные должны записываться в шаблон письма.

cyber 28.06.2012 11:27

а почему вы элементы формы засовываете в div?
попробуйте использовать form и методом GET или POST отправлять данные..

Эльхор 28.06.2012 12:47

Просто дело в том, что это как бы вложенная форма. Она по идее должна по нажатию на "Сохранить" записываться, а отправляться другой кнопкой вместе с остальной инфой, которая статична. И всё бы ничего, но есть шаблон письма в модуле, который обновляется не автоматически, а через админку только. Поэтому когда поле генерируется, оно не попадает в этот шаблон. Хотя на http://www.arbitr-spb.ru/on-line/ это как-то реализовано...

Эльхор 28.06.2012 12:48

тут и тэги-то form собственно не нужны

cyber 28.06.2012 13:30

а вы уверены что они потом добавляются?

Эльхор 28.06.2012 14:47

Они есть в общей форме, в которую добавляется эта часть. Там соответственно и прописаны метод и действие.


Часовой пояс GMT +3, время: 05:12.