|
現: 2015-04-01 (水) 22:09:35 nao-pon |
| + | #navi |
| + | RIGHT:&rsslink(../); |
| + | #boxdate |
| | | |
| + | * [jQuery] フォームの二重送信を防止する(小ワザつき) [#k7b786a8] |
| + | RIGHT:&tag(プログラミング,JavaScript); |
| + | |
| + | XOOPS の d3forum で二重送信してしまう場合が結構あったので、jQuery でちょっと対応してみた。 |
| + | |
| + | フォーム送信時に submit ボタンが disabled だと、そのボタンのデータが送信されず、例えば d3forum だと「プレビュー」を押してるのに「送信」扱いになってしまうので、setTimeout で、disable 属性の付与をちょっとだけ遅延させてあります。 |
| + | |
| + | また、別窓で開くフォーム用に target 属性を持つフォームは除外し、念のため 15 秒後に再活性化するようにしてあります。 |
| + | |
| + | これを、HypCommon の設定の「その他の設定」-「<head>内の最後に挿入するタグ」に記述しておくと XOOPS サイト全体にこの機能が追加されます。 |
| + | |
| + | :追記| |
| + | [[[jQuery] Web ページのフォーム投稿時問題のあれこれを上手いことするやつ>../2015-04-03]] でもっといい感じのものを作ってみました。 |
| + | |
| + | |
| + | #code(javascript){{ |
| + | <script type="text/javascript"> |
| + | jQuery(function($){ |
| + | $('form:not([target])').on('submit',function(e){ |
| + | var btn = $(this).find('input[type="submit"]'); |
| + | setTimeout(function(){btn.attr('disabled', 'disabled')},100); |
| + | setTimeout(function(){btn.removeAttr('disabled');},15000); |
| + | }); |
| + | }); |
| + | </script> |
| + | }} |
| + | |
| + | RIGHT:&font(90%){&page_comments;}; |
| + | #navi |
- nao-pon/blog/2015-04-01 のバックアップ差分(No. All)
Counter: 475,
today: 2,
yesterday: 0