serialize
trả về một chuỗi được mã hóa URL chứa các trường biểu mẫu. Nếu bạn cần thêm vào nó, bạn làm như vậy bằng cách sử dụng các quy tắc chuỗi được mã hóa URL chuẩn, ví dụ:
var values = $("#frmblog").serialize();
values += "&content=" + encodeURIComponent(content_val);
(Điều trên giả định sẽ luôn có một giá trị values
sau serialize
cuộc gọi; nếu điều đó không nhất thiết là đúng, hãy xác định xem có nên sử dụng hay không &
dựa trên việc values
có trống không trước khi bạn thêm vào nó.)
Ngoài ra, nếu muốn, bạn có thể sử dụng serializeArray
và sau đó thêm vào mảng và sử dụng jQuery.param
để biến kết quả thành một chuỗi truy vấn, nhưng điều đó có vẻ là một chặng đường dài:
var values = $("#frmblog").serializeArray();
values.push({
name: "content",
value: content_val
});
values = jQuery.param(values);
Cập nhật : Trong một nhận xét được thêm vào sau đó, bạn đã nói:
Vấn đề là, có một số giá trị mặc định đang được đặt trong khóa 'nội dung' trong quá trình cách ly, vì vậy tôi không thể chỉ đính kèm một giá trị mới, tôi phải cập nhật giá trị đã có trong đó "
Điều đó thay đổi mọi thứ. Thật khó để tìm kiếm content
trong chuỗi được mã hóa URL, vì vậy tôi sẽ đi với mảng:
var values, index;
// Get the parameters as an array
values = $("#frmblog").serializeArray();
// Find and replace `content` if there
for (index = 0; index < values.length; ++index) {
if (values[index].name == "content") {
values[index].value = content_val;
break;
}
}
// Add it if it wasn't there
if (index >= values.length) {
values.push({
name: "content",
value: content_val
});
}
// Convert to URL-encoded string
values = jQuery.param(values);
Bạn có thể muốn biến điều này thành một chức năng có thể tái sử dụng.