4
HTMLページにフォームを表示させるボタンがあります。私は、動的に作成されていない他のフォームからデータを取得することができますので、動的に作成されたフォームからフォームを取得できません
function getFormData($form){
var unindexed_array = $form.serializeArray();
var indexed_array = {};
$.map(unindexed_array, function(n, i){
indexed_array[n['name']] = n['value'];
});
return indexed_array;
}
機能がうまく動作しているようです:私は、フォームからデータを取得する機能を持っています。ボタンをクリックするとフォームが作成されます。
var new_form = document.createElement('form');
new_form.id = "new_form";
// (...) all the inputs for the form
// and I append to an existent div
existent_div.appendChild(new_form);
// and then the inputs
new_form.appendChild(input1); (...)
フォームデータを取得する必要がある別のボタンがあります。それはこの関数を呼び出し、私はこれを持っています。
var new_form_info = getFormData($("#new_form"));
// I get an empty object...
なぜこのようなことが起こりますか?私は経験豊かなプログラマーではありませんので、間違いをおかけして申し訳ありません。
を定義する場合は、構文eを持って、あまりにも動作します不具合'new_form.appendChild(input)'を使っているはずです。 '' append_child "'は関数ではないと言うべきコンソールを確認してください – synthet1c
@ synthet1cああ、それは見えませんでした。それはタイプミスでした。 Ty –
'$("#new_form ")'が 'getFormData'関数に渡される直前に、あなたはどのオブジェクトをセレクタから取得しますか? –