serialize
повертає кодований URL-рядок, що містить поля форми. Якщо вам потрібно додати до нього, ви робите це, використовуючи стандартні правила кодування URL-рядків, наприклад:
var values = $("#frmblog").serialize();
values += "&content=" + encodeURIComponent(content_val);
(Вищезазначене передбачає, що values
після serialize
виклику завжди буде одне значення ; якщо це не обов’язково відповідає дійсності, визначте, чи використовувати, &
виходячи з того, чи values
порожнє, перед тим, як додати його.)
Якщо ви хочете, ви можете використовувати, serializeArray
а потім додати до масиву і використовувати, jQuery.param
щоб перетворити результат на рядок запиту, але це здається довгим шляхом:
var values = $("#frmblog").serializeArray();
values.push({
name: "content",
value: content_val
});
values = jQuery.param(values);
Оновлення : У коментарі, доданому пізніше, ви сказали:
Проблема полягає в тому, що в ключі "вміст" під час процесу серилізації встановлюються деякі значення за замовчуванням, тому я не можу просто приєднати нове значення, я повинен оновити вже наявне в ньому "
Це змінює ситуацію. Це болісно шукати content
в кодованому рядком URL-адреси, тому я піду з масивом:
var values, index;
values = $("#frmblog").serializeArray();
for (index = 0; index < values.length; ++index) {
if (values[index].name == "content") {
values[index].value = content_val;
break;
}
}
if (index >= values.length) {
values.push({
name: "content",
value: content_val
});
}
values = jQuery.param(values);
Можливо, ви хочете зробити цю функцію багаторазовим.