javascript
環境 HTML5に対応したブラウザ やり方 汎用的にfunctionを作ってみた。 function downloadFile(ajaxUrl, ajaxData, fileName) { $.ajax({ type: "post", url: ajaxUrl, data: ajaxData, xhrFields: { responseType: 'blob' } }).done(function (response, _t…
Datatablesとは DataTables | Table plug-in for jQuery 行選択イベント 行選択時のイベントを捕まえる方法は二通りある。 select/deselectイベント ユーザーによる選択でもコードによる選択でも発火する。 タイミングは選択された「後」。 singleモードだと…
やりたいこと 複数のAJAX処理を一つずつ順番に、前の処理が終わるのを待って実行したい。 環境 jQuery 1.8 以降 やり方 jQueryのDeferredオブジェクトを利用してAJAX実行Queueを作成する。途中でエラーが発生した際にそのまま続行するQueueと以降の処理をキ…
例えばテーブルの各行にクリックイベントをアタッチしたいとき、それがAJAXで非同期にデータをロードするテーブルならばロードのたびにアタッチし直さなければならないし、ユーザーが自由に行追加できるテーブルならばその都度追加行にアタッチしなければな…
submitと同時にボタンをdisabledにする。 やり方 ページロードイベント中に以下を追加。 $('form').on('submit', function() { // 全てのボタンをdisabledにする $('button, input[type="submit"]').prop("disabled", true); }).on('click', '[type=submit]'…
やり方 Cookieを使う。 $('form').on('submit', function() { const currentToken = getCookie("DOWNLOAD_TOKEN"); const downloadTimer = window.setInterval(function () { const newToken = getCookie("DOWNLOAD_TOKEN"); if (newToken != currentToken) …
いやTabキー押せよ、って思うけど仕方ない。 やり方 $('form').on('keydown', 'input, button, select', function(e) { if (e.keyCode == 13) { if ($(this).attr("type") == 'submit') return; var form = $(this).closest('form'); var focusable = form.f…
本当はそんなことしたくない。 なお、あくまで戻るボタンを封じるだけなので履歴を使うと戻れる。 環境 HTML5に対応したブラウザ やり方 ページロードイベント中に以下のコードを追加。 history.pushState(null, null); $(window).on('popstate', function(e…