[英]jQuery: How do I chain .live() with .ajaxForm()?
我有一個通過XHR插入的表單,因此在最初呈現DOM時還沒有准備好。 目前,我使用類似:
jQuery("[name='myform']").ajaxForm({ /* code here */ });
而且在獨立的應用程序上也可以正常工作。 我將其嵌入的應用程序非常龐大,在myform可用於DOM之前,我需要能夠將ajaxForm綁定到myform。 無論如何,我可以在這里組合.live()以便jQuery在通過XHR引入時對其進行監視嗎?
**編輯**
這是正在執行的實際代碼。 沒有JavaScript錯誤。 它只是提交整頁而不是XHR更新。
jQuery("[name='clip_form2']").live('submit', function(e) {
$(this).ajaxSubmit({
target: '#form_quotes_highlights_part',
beforeSerialize: function(form, options) {
alert("In beforeSerialize...");
if (validate_time_text_highlights()) {
if ( $tabChanged ) {
diff(form[0]);
jQuery('form[name=clip_form2] input[type=submit]').attr('disabled', 'disabled').val("<%= t('labels.please_wait') %>");
return true;
}
else {
return false;
}
}
return false;
},
success: function() {
jQuery('#form_quotes_highlights_part').fadeIn('slow');
},
complete: function() {
jQuery("#wizard").expose().close();
}
});
$tabChanged = false;
add_change_listener("form[name=clip_form2]");
Tabs.validateCancel( $( "button[name=Cancel]", "form[name=clip_form2]" ) );
$("#clip_quote").NobleCount('#quote_count');
$("#clip_quote2").NobleCount('#quote2_count');
$("#clip_attribution").NobleCount('#attribution_count');
if ( <%= is_defined?( @permitted_clip_read_only ) && @permitted_clip_read_only %> ) {
jQuery( 'form[name=clip_form2] input' ).attr( "disabled", true );
jQuery( 'form[name=clip_form2] textarea' ).attr( "disabled", true );
}
e.preventDefault();
});
這樣的事情應該可以解決問題:
jQuery("[name='myform']").live('submit', function(e) {
$(this).ajaxSubmit(/* code here */);
e.preventDefault();
});
ajaxSubmit()
是在魔術發生(其中為ajaxForm()
只綁定一個提交處理程序),在這里我們只是監聽submit
事件和調用ajaxSubmit()
即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.