За последние 24 часа нас посетили 40789 программистов и 1725 роботов. Сейчас ищут 664 программиста ...

form serialize ajax

Тема в разделе "JavaScript и AJAX", создана пользователем TigerZaka, 2 фев 2013.

  1. TigerZaka

    TigerZaka Активный пользователь

    С нами с:
    16 сен 2011
    Сообщения:
    189
    Симпатии:
    1
    Ребят, подскажите, можно ли не используя в форме кнопку submit, использовать что-то типа form.serialize. ну чтобы передавались значения чисто по change формы. Сейчас делаю так, но если будет больше параметров, не хочется все указывать вручную:
    Код (Text):
    1. $.ajax({
    2.                 type: "POST",
    3.                 url: "sql.php?rooms="+rooms+"&cost="+cost,
    4.                 success: function(msg) {
    5.                     $("#results").html(msg);
    6.                 }              
    7.             });
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    можно обобрать все поля =) и засунуть их в запрос
     
  3. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Так делать и не надо...
    Пройтись по форме, собрать в массив и отправить:

    Пример, сами переделаете.

    Код (PHP):
    1. var array=[];
    2. $('#form1 input:checkbox[name="post_name[]"]:checked').each(function() {
    3.     array.push($(this).val());
    4. });
    5. $.post('sql.php',{post_name:array},function(msg) {
    6.     $("#results").html(msg);
    7. });

    А в sql.php у вас упадет $_POST['post_name'].

    Код (PHP):
    1. if(empty($_POST['post_name'])) {
    2.     echo'Выберите хоть что-нибудь';
    3. } else if(is_array($_POST['post_name'])) {
    4.     foreach($_POST['post_name'] as $key => $val) {
    5.         //...
    6.     }
    7. }
    Еще есть такое как $("#form1").serialize(), просто в моем случае можно разделить на массивы разные поля если захочется так и отправить... А не все сериализовывать всю форму.