serialize
フォームフィールドを含むURLエンコードされた文字列を返します。追加する必要がある場合は、標準のURLエンコードされた文字列ルールを使用して追加します。例:
var values = $("#frmblog").serialize();
values += "&content=" + encodeURIComponent(content_val);
(上記はvalues
、serialize
呼び出し後に常に1つの値があることを前提としています。それが必ずしも当てはまらない場合は、追加する前に、空&
かどうかに基づいて使用するかどうかを決定values
してください。)
または、必要に応じて、を使用serializeArray
して配列に追加し、を使用jQuery.param
して結果をクエリ文字列に変換することもできますが、これは長い道のりのようです。
var values = $("#frmblog").serializeArray();
values.push({
name: "content",
value: content_val
});
values = jQuery.param(values);
更新:後で追加されたコメントであなたは言った:
問題は、セリリゼーションプロセス中に「content」キーにいくつかのデフォルト値が設定されているため、新しい値を添付するだけではなく、すでに含まれている値を更新する必要があることです。」
それは物事を変えます。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);
これを再利用可能な関数にしたいと思うかもしれません。