Задать вопрос
Kadi
@Kadi
веб-разработчик

Как структурировать и передать данные через ajax?

В общем, есть модальное окно с некоторой формой, где пользователь может менять данные.
вот, упрощенный код модального окна:
<div id="modal">
  <form>
  <table>
    <tr>
      <td><input type="text" name="element[]"></td>
      <td><input type="hidden" name="element[]"></td>
      <td><input type="text" name="element[]"></td>
    </tr>
    <tr>
      <td><input type="text" name="element[]"></td>
      <td><input type="hidden" name="element[]"></td>
      <td><input type="text" name="element[]"></td>
    </tr>
    <tr>
        ...
    </tr>
  </table>
  </form>
  <a href="#" class="close-modal"> <!-- кнопка закрытия окна (при нажатии которой отправляются данные с input-ов) -->
</div>

Необходимо, при закрытии модального окна, отправить ajax-ом данные на сервер массив данных примерно такого вида:
array(0) {
  array(0) { // массив значении инпутов из 1-й строки таблицы
    [0] => 'somedata',
    [1] => 'somedata',
    [2] => 'somedata' 
  }
  array(1) { // массив значении инпутов из 2-й строки таблицы
    [0] => 'somedata',
    [1] => 'somedata',
    [2] => 'somedata' 
  }
  array(...) { // массив значении инпутов из последующих строк
    ...
  }
}


вот как пытаюсь это сделать я:
(в качестве модальных окон, я использую готовое решение от codrops)
close.addEventListener( 'click', function( ev ) {
  ... // здесь некий код закрытия модального окна
  ...// вот здесь я никак не могу собрать данные в нужного вида массив
  $.ajax({
    url: 'somehandler.php',
    type: 'post',
    data: inputDatas,
    success: function(data, status) {
      alert(data); // алерт просто для теста )
    }
  });
}

буду очень признателен за любую помощь
  • Вопрос задан
  • 2370 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
var inputDatas = $('#modal form').serialize();
Или я что-то не так понял?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
jquery form plugin. Я писал о нем в тостере
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы