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);
업데이트 : 나중에 추가 된 댓글에서 다음과 같이 말했습니다.
문제는 serilization 프로세스 중에 'content'키에 일부 기본값이 설정되어 있으므로 새 값을 첨부 할 수 없으며 이미있는 값을 업데이트해야합니다. "
그것은 상황을 변화시킵니다. content
URL로 인코딩 된 문자열 내에서 찾는 것은 고통스럽기 때문에 배열을 사용하겠습니다.
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);
아마도 이것을 재사용 가능한 기능으로 만들고 싶을 것입니다.