[解決済み] jQueryでシリアライズされたフォームデータを変更するにはどうすればよいですか?
2023-06-27 01:01:37
質問
AJAXでフォームを送信しようとしているので、データをシリアライズ()しなければなりません。しかし、私は使用しています
fckEditor
を使用しており、jQueryはそれを処理する方法を知らないので、シリアライズの後、私は手動で値を修正しようとしていますが、今のところうまくいきません...何かアイデアはありますか?
if(content_val!=""){
var values = $("#frmblog").serialize();
values.content = content_val; //content_val is the manually fetched data which I am trying to insert into the serialized content.
alert(content_val); alert(values);
}
どのように解決するのですか?
serialize
は、フォームフィールドを含むURLエンコードされた文字列を返します。これに追加する必要がある場合は、標準的なURLエンコード文字列の規則を使って行います。
var values = $("#frmblog").serialize();
values += "&content=" + encodeURIComponent(content_val);
(上記は、常に一つの値が
values
の後に
serialize
を呼び出すかどうかを決定します。もしそれが必ずしも正しいとは言えない場合は
&
を使うかどうかを決定します。
values
が空であるかどうかで判断します)。
代わりに、お望みなら
serializeArray
というように配列に追加して
jQuery.param
を使って結果をクエリ文字列に変換することができますが、これは遠回りのような気がします。
// You can also do this, but it seems a long way 'round
var values = $("#frmblog").serializeArray();
values.push({
name: "content",
value: content_val
});
values = jQuery.param(values);
更新 : 後日追加されたコメントで、あなたはこう言っています。
問題は、セリライズ処理中に '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);
これを再利用可能な関数にしたいのでしょう。
関連
-
[解決済み] jest.fn()の値はモック関数またはスパイである必要があります。
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
-
[解決済み] jQueryの検証:デフォルトのエラーメッセージを変更する
-
[解決済み] jQuery OR Selector?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み】PHPによるjQuery Ajax POSTの例
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jQueryのpreventDefault()が発動しない
-
[解決済み] jQuery データ属性の値に基づいて要素を検索する方法は?
-
[解決済み] Twitter Bootstrapのモーダルクローズに関数をバインドする
-
[解決済み] .on('click') と .click() の違いについて
-
[解決済み] jQueryがどのバージョンで読み込まれているかを確認するには?
-
[解決済み] CSSを使用してSVG画像の色を変更する方法(jQuery SVG image replacement)とは?
-
[解決済み] jQueryを使ってロールオーバー時に画像ソースを変更する
-
[解決済み] jQueryで選択されたオプションのインデックスを取得する
-
[解決済み] jQueryで<input type="text">のonchangeを実装するには?
-
[解決済み] jQuery post()のシリアライズと追加データについて