ボタンクリック → 確認ダイアログ
「削除」ボタンクリック → 削除確認ダイアログってものを、jQuery UI Dialog を使って作ってみた。作ってみたというか、以下サイトのサンプルをパクってみたといった感じ。
参考サイト:
とりあえずソースを。
HTMLの抜粋:
ダイアログを表示するトリガーボタン。引数の ID は削除したいものの ID。
<input type="button" value="削除" onClick="deleteConfirm('${id}')" />
dialog を表示する(?)div タグ。
<div id="deleteConfirmMessage"/>
JavaScriptの抜粋:
<script type="text/javascript" src="${f:url('/js/jquery.js')}"></script> <script type="text/javascript" src="${f:url('/js/ui.core.js')}"></script> <script type="text/javascript" src="${f:url('/js/ui.dialog.js')}"></script> <script type="text/javascript" src="${f:url('/js/ui.draggable.js')}"></script> <script type="text/javascript"> function deleteConfirm(id) { $(document.body).addClass('flora'); // flora という skin の適用 $("#deleteConfirmMessage").dialog({ title: '削除確認', width: 300, modal: true, overlay: { opacity: 0.5, background: 'black' }, open: function() { $('#deleteConfirmMessage').text('削除します。よろしいですか?'); }, buttons: { '削除': function() { window.open('delete?id=' + id, '_self'); // GET アクセスして削除を実行 }, 'キャンセル': function() { $('#deleteConfirmMessage').dialog('close'); // ダイアログを閉じる // $(this).dialog('close'); でも同様(コメントより) } } }); } </script>
たったこれだけ。すげぇ。
ちなみに flora を適用するには flora.dialog.css が必要とのこと。ダウンロードしたアーカイブにあった flora 用の画像と一緒にアプリケーションに組み込んであげればOK。