ajaxを使用して動的に作成されたフォームがあり(フォーム要素のデータはデータベースから取得する必要があるため)、フォームの要素をシリアル化してajaxで送信したいと思います。私は現在、jQuery Webサイトのコードを使用して理論をテストしており、フォーム要素を取得できるかどうかを確認しています。これが問題の原因です。
$(document).ready(function() {
$('#btnCustomSearch').live('click', function() {
$('#results').html('');
alert($('#customSearchTable :input').serializeArray());
// get all the inputs into an array.
var fields = $('#customSearchTable :input').serializeArray();
jQuery.each(fields, function(i, field) {
$("#results").append(field.name + " = " + field.value + ", ");
});
// now we'll reformat the data as we need
// here we'll send the data via ajax
});
});
送信する前にデータにいくつかの変更を加える必要があり、このコードはまだ記述されていませんが、ページの読み込み時に存在していたページ上の入力要素が正しく取得されていることがわかりました。 Javascriptを使用して入力されたものは正しく取得されますが、ajaxを使用して作成されたものはすべて無視されます。
これは通常「ライブ」を使用して解決されることは知っていますが、を使用してこれを解決する方法がわかりませんserializeArray()
。Ajaxを使用すると、追加のフォーム要素がに追加され、#customSearchTable
これらはピックアップされないものです。
どんな助けでも大歓迎です。
ありがとう