Автоматическое получение данных из формы
Собственно хочу сделать такую вещь.
Так как количество и разнообразие элементов форм у меня будет большое, то хотелось бы более динамичный подход к сборке данных. В jQuery можно не указывая конкретных данных отсылать то, что есть в форме асинхронным способом? Так как вписывать в поле data функции $.ajax поля под каждую форму, которые надо отсылать, это совсем не вариант. :no: Извиняюсь, что подал в два раздела, просто не знал куда подать. |
Если на момент отправки формы создать что-то типа такого?
form = $("#form"); inputs = form.find("input").attr("value"); selectboxes = form.find("select").attr("value"); inputs_names = form.find("input").attr("name"); selectboxes_names = form.find("select").attr("name"); Как-то запихнуть в массив, чтобы не сбился порядок и потом циклом передать в строку data. Не вариант? Просто нету сейчас возможности это проверить. |
Копать в сторону jQuery Form Plugin
|
Здравствуй e1f!
Я тут нашел кое что: var str = form.serialize(); str выводит это: co=%D0%9F%D0%BE%D0%BB%D0%B51& adr=%D0%9F%D0%BE%D0%BB%D0%B52& l1=%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9& l2=%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%B A%D0%B8%D0%B9& l3=%D0%93%D0%B5%D1%80%D0%BC%D0%B0%D0%BD%D1%81%D0%B A%D0%B8%D0%B9& l4=%D0%A4%D1%80%D0%B0%D0%BD%D1%86%D1%83%D0%B7%D1%8 1%D0%BA%D0%B8%D0%B9& Данные я получил, но они теперь под типом строки(string) , если я правильно понимаю. То есть, теперь мне надо будет на стороне сервера с помощью PHP парсить эту строку? Или на стороне PHP можно вернуть эту строку в нормальном виде, то есть под видом массива? Привел в нормальный вид строку. Видимо всетаки парсить по объединяющему символу & или я не прав? |
Зачем парсить? Это параметры формы, в сериализированном виде.
Как использовать: Открываем исходник, читаем вверху комментарий: Usage Note: ... $(document).ready(function() { $('#myForm').bind('submit', function() { $(this).ajaxSubmit({ target: '#output' }); return false; // <-- important! }); }); |
А без плагина как? :|
Сам принцип не могу понять. Можно разжевать пожалуйста, а то у меня работа из-за этого стоит? o_o |
function submit_form(form) { $.ajax({ url: form.action, data: $(form).formSerialize(), success: function(data) { // do something } }); return false; //!important } |
Часовой пояс GMT +3, время: 03:24. |