• Home
  • MTAppjQuery
  • MTAppjQuery で Ajax などの処理が全部終わってから submit を走らせたいとき

MTAppjQuery で Ajax などの処理が全部終わってから submit を走らせたいとき

MTAppjQuery で Movable Type の管理画面をカスタマイズしていると、例えば「記事を保存したときのタイミングで Ajax などの処理が全部終わってから submit を走らせたい」ということがたまにあります。

そういうときは、下記のように名前空間を使ってイベントをセットすると良いでしょう。

(function($){
    $('form[name="entry_form"]').on('submit.preSaveEntry', function(){
        var $form = $(this);
        $.when(
            $.getJSON('http://your-data-api.cgi/v1/sites/1/entries'),
            $.getJSON('http://your-data-api.cgi/v1/sites/2/entries'),
            $.getJSON('http://your-data-api.cgi/v1/sites/3/entries')
        )
        .done(function(response1, response2, response3){
            console.log(response1);
            console.log(response2);
            console.log(response3);
            $form.off('submit.preSaveEntry').submit();
        })
        .fail(function(){
            alert('Fail');
        });
        return false;
    });
})(jQuery);

ここでは名前空間を postSaveEntry としていますが、もちろん他の submit にも使えます。

bit part では、Slack の API を使って、テンプレートを保存したら「テンプレート名」「URL」「作業者」が Slack に通知されるようにセットしているブログもあったりしました。

以上です。

MTAppjQuery について

Movable Type の管理画面をフロントエンドの知識だけで簡単にカスタマイズすることができます。

クライアントの満足度を高めるためにぜひお使いください。

MTAppjQuery の詳細を見る

Iamge Description

Recent Entries

Pickup Categories

Movable Type

CMSとして国内5万サイト以上に導入されている Movable Type に関する記事です。

Craft CMS

CMS 業界で注目の Craft CMS に関する記事です。Craft CMS はチーム全体をハッピーにしてくれる素晴らしい CMS です。