простая функция для сбора данных формы для отправки ajax - PullRequest
1 голос
/ 19 марта 2012

Я пытаюсь найти простой, элегантный способ получить все подходящие имена, пары значений из формы HTML и подготовить эти данные для вызова ajax, где данные будут сохранены.Я придумал это:

$('#save').click(function(){
    var querystring = "";
    $('form#form_id :input').each(function(){
        querystring += $(this).attr('name') + "=" + $(this).val() + "&";
    });
    querystring = querystring.substr(0,querystring.length-1);
    alert(querystring);
});

Я бы тогда использовал это querystring для обновления сценария ajax.Есть несколько проблем с этим:

  1. все строки переключателей отображаются в строке запроса, а не только выбранные
  2. все флажки отображаются со значением = "в"

У кого-нибудь есть хороший простой способ сделать это?

Спасибо

Ответы [ 2 ]

9 голосов
/ 19 марта 2012

У jQuery уже есть метод для этого!Попробуйте это:

var myData = $("form#form_id").serialize();
alert(myData);

Кроме того, он включает текстовые поля и поля выбора.

Более подробная информация по адресу: http://api.jquery.com/serialize/

0 голосов
/ 19 марта 2012
$('#save').click(function(){
    var querystring = "";
    $('form#form_id :input').each(function(){
        querystring += $(this).attr('name') + "=" + $(this).is(":checked") + "&";
    });
    querystring = querystring.substr(0,querystring.length-1);
    alert(querystring);
});
...