フォームデータを保存するためのajax関数があります。ユーザーはいつでも保存を押すことができるので、非同期のままにしておきたいです。ただし、フォームをPDFに変換する別の関数があり、PDFを作成する前に保存関数を実行する必要があります(ユーザーがさらにデータを追加した場合)。$('input.submit')
PDFを開く前に保存が完了するのを待つ方法はありますか?以下は私が使用しているjQueryです:
$("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)
が、ボタンの保存が完了するのを待ってから、新しいウィンドウを開きます。