Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Автоматическое получение данных из формы (https://javascript.ru/forum/jquery/6009-avtomaticheskoe-poluchenie-dannykh-iz-formy.html)

Beck 06.11.2009 14:21

Автоматическое получение данных из формы
 
Собственно хочу сделать такую вещь.

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

В jQuery можно не указывая конкретных данных отсылать то, что есть в форме асинхронным способом?

Так как вписывать в поле data функции $.ajax поля под каждую форму, которые надо отсылать, это совсем не вариант. :no:

Извиняюсь, что подал в два раздела, просто не знал куда подать.

Beck 06.11.2009 14:25

Если на момент отправки формы создать что-то типа такого?

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.

Не вариант? Просто нету сейчас возможности это проверить.

e1f 06.11.2009 16:26

Копать в сторону jQuery Form Plugin

Beck 06.11.2009 16:39

Здравствуй 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 можно вернуть эту строку в нормальном виде, то есть под видом массива?

Привел в нормальный вид строку.

Видимо всетаки парсить по объединяющему символу & или я не прав?

e1f 06.11.2009 16:45

Зачем парсить? Это параметры формы, в сериализированном виде.
Как использовать:
Открываем исходник, читаем вверху комментарий:
Usage Note:  
...
    $(document).ready(function() {
        $('#myForm').bind('submit', function() {
            $(this).ajaxSubmit({
                target: '#output'
            });
            return false; // <-- important!
        });
    });

Beck 06.11.2009 17:00

А без плагина как? :|

Сам принцип не могу понять.

Можно разжевать пожалуйста, а то у меня работа из-за этого стоит? o_o

e1f 06.11.2009 18:01

function submit_form(form) {
    $.ajax({
        url: form.action,
        data: $(form).formSerialize(),
        success: function(data) {
            // do something
        }
    });
    return false; //!important
}


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