#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
(This host) = https://xoops.hypweb.net