DOMオブジェクトを子として別のDOMオブジェクトに追加するアプリケーションを作成しています。この子は、子オブジェクトを持つことができます。以下に示すように、フォームの送信と検証を使用しています。問題は、AJAX応答を送信および受信するときに、新しいフォームをDOMに追加し、それが送信されると、initializeSubmit関数をバイパスして新しいページをロードすることです。
jQuery(document).ready(function($) {
$('#wpbody-content form').each(initializeSubmit);
});
function initializeSubmit () {
var $ = jQuery,
$form = $(this),
options = {
submitHandler: function() {
var postdata = {},
$inputs = $form.find('input, textarea'),
edit_fields = {};
$inputs.each( function () {
// gather postdata
});
$.ajax( {
type : 'POST',
dataType : 'html',
url : ajaxurl,
cache : false,
data : postdata,
success : function ( response ) {
$container = $form.parent();
$container.after(response);
$newform = $(response).find('form');
$newform.each(initializeSubmit);
}
});
}
}
$form.validate(options);
};
また、success関数内でそれぞれの代わりにapplyを使用しようとしました。
initializeSubmit.apply($newform);
コンソールログには、$newformのjQuery配列内の適切なフォームが表示されます。どんな助けでも大歓迎です!