2015-09-07 6 views
0

Так что в основном у меня много полей формы (около 50 или около того). Выполнение запроса AJAX будет астрономически большим, и это, скорее всего, просто заставит мой код выглядеть уродливым и нечитаемым. Есть ли способ собрать все данные формы со страницы и выполнить запрос AJAX?Получите все поля ввода формы с страницы

ответ

0

В JQuery «сериализации» метод:

Описание: Закодировать набор элементов формы в качестве строки для представления.

См https://api.jquery.com/serialize/

1

Если вы имели имена объекта для каждого ввода, как:

<input type="text" data-ajax="MyAjaxObjectName1" /> 

Вы можете рекурсию через все входы на этом пути:

var ajaxObject = {}; 
$('#myContainer input[type=text]').each(function() { 
    var inputObject = $(this).data('MyAjaxObjectName1') 
    ajaxObject[inputObject] = $(this).val() 
} 

Это самый простой способ, который я могу придумать, чтобы пройти через каждое поле, которое у вас есть. Хотя, вам нужно будет обновить HTML, чтобы включить эти атрибуты.

0

Я предлагаю использовать $.serializeArray() на элементе формы.

Он возвращает массив с каждым именем и значением входных данных формы.

Документ & Примеры: https://api.jquery.com/serializeArray/

Смежные вопросы