我有一個ajax函數來保存表單數據。我希望它保持異步,因爲用戶可以隨時點擊保存。但是,我有另一個功能將表單轉換爲PDF,我希望它在創建PDF之前運行保存功能(以防用戶添加更多數據)。打開pdf之前有沒有辦法讓$('input.submit')
等待保存完成?下面是我使用jQuery:jquery等待直到AJAX調用完成
$("button#save").on('click', function(){
$.ajax({
type: 'POST',
url: '<?php echo matry::base_to('utilities/crm/field_day_save');?>',
data: $("form#trip_form").serialize(),
dataType: 'json',
success: function (data)
{
$("#alerts").html(data.alert);
$("#form_id").val(data.id);
}
});
});
$("input.submit").on('click', function(event){
event.preventDefault();
$("button#save").trigger('click');
window.open('<?php echo matry::base_to('custom_worddocs/field_day');?>' + '&fd_id=' + $("#form_id").val());
});
總之,我想$('button#save').click()
保持同步,但是我想$(input.submit)
等待按鈕保存打開新窗口之前完成。
你打開在'success'或'Ajax請求的complete'回調的PDF文件。 – Danny 2013-02-15 18:53:19
爲什麼你再次觸發點擊? – 2013-02-15 18:58:42
點擊是運行ajax保存功能,所以它在創建PDF之前保存。 @Danny,我不想重寫保存功能,只需額外打開一個窗口行,並且我不希望每次保存的 – Mike 2013-02-15 19:05:00