jQuery serialize() 関数を使用してフォーム内のデータを収集し、次のように jQuery Ajax の「投稿」メソッドを使用してサーバーに送信していますvar params = jQuery('#mainContent form').serialize();
。
私が見た奇妙なことは、フォームからのシリアル化されたデータに古いデータが含まれていることです。つまり、フォームのすべての変更 (テキスト フィールドへの入力、コンボ ボックスでの選択) は DOM に保存されないため、jQuery が を呼び出すとserialize()
、フォームを変更する前に表示された古いデータが収集されます。そのフォームの各要素を調べて を呼び出してみましたが.val()
、まだ古い値が表示されていました。では、メソッドが入力した最新のデータで文字列を作成できるよう
に、すべての変更をフォームに保持するにはどうすればよいでしょうか?
これが私のスニペットコードです。送信ハンドラー内で呼び出しましたserialize()
serialize()
jQuery('.myFormDiv input.submit').click(function() {
// Do something
// Collect data in form
var params = jQuery('#mainContent form').serialize();
// Submit to server
jQuery.post(url, params, successHandler);
}
どうもありがとう。