收集ajax提交表单数据的简单函数

时间:2012-03-19 18:08:08

标签: jquery ajax form-submit

我正在尝试找到简单,优雅的方法来获取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. 所有复选框都显示为value =“on”
  3. 有没有人有一个很好的简单方法来做到这一点?

    由于

2 个答案:

答案 0 :(得分:9)

jQuery已经有了一个方法!试试这个:

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

另外,它包括textareas和选择框。

更多信息:http://api.jquery.com/serialize/

答案 1 :(得分:0)

$('#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);
});