2015-12-07 4 views
3

Как вручную добавить новый параметр в объект формы. Например, я могу сделать следующее:Добавить значение сообщения в объект формы jQuery

var form = $(#formId); 

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

Это будет сериализовать все опубликованные поля и передать их в ajax. Как добавить дополнительное поле в объект form (т. Е. Тот, который не был отправлен формой)?

ответ

0

Это должно работать:

var form = $(#formId); 

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

Почему эта работа –

+0

ли не способ напрямую добавить значение для объекта формы? – V4n1ll4

+0

Насколько я понимаю form.serialize(), он возвращает строку со всеми полями из формы, поэтому вы можете добавить другую строку. – eol

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[...] = '....'; 
Смежные вопросы