将post值添加到jQuery表单对象

时间:2015-12-07 16:01:44

标签: jquery ajax

如何手动将新参数添加到表单对象。例如,我可以执行以下操作:

var form = $(#formId);

$.ajax({
    type: 'post',
    dataType: 'json',
    url: action,
    data: form.serialize()
...

这将序列化所有已发布的字段并将其传递给ajax。如何向form对象添加其他字段(即表单未发布的字段)?

2 个答案:

答案 0 :(得分:0)

这应该有效:

  var form = $(#formId);

    $.ajax({
        type: 'post',
        dataType: 'json',
        url: action,
        data: form.serialize()+"&param1=test"
...

答案 1 :(得分:0)

我正在使用serializeObject:

$.fn.serializeObject = function () {
    var o = {};
    var a = this.serializeArray();
    $.each(a, function () {
        if (o[this.name] !== undefined) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
    });
    return o;
};

然后:

var params = $('#formId').serializeObject();
params[...] = '....';