Writing /volume1/Web/Public/dokuwiki/data/log/deprecated/2024-11-14.log failed
Writing /volume1/Web/Public/dokuwiki/data/log/deprecated/2024-11-14.log failed
Prevent paste operation in textfield
ユーザー登録画面とかでパスワードとかメールの確認の貼り付け(Ctrl+V)を防止したい時があると思う。
今回はその場面で役立つようなjavascriptコードを紹介する。
code snippet
<script type="text/javascript"> <!-- function onKeypress(e) { var keycode = (e.which)? e.which:event.keyCode; if (e) { // Mozilla(Firefox, NN) and Opera ctrl = typeof e.modifiers == 'undefined' ? e.ctrlKey : e.modifiers & event.CONTROL_MASK; } else { // Internet Explorer ctrl = event.ctrlKey; } // キーコードの文字を取得 keychar = String.fromCharCode(keycode).toUpperCase(); if (ctrl) { if (keychar == "V") { alert("貼り付け禁止!!"); // イベントの上位伝播を防止 if(e){ e.preventDefault(); e.stopPropagation(); }else{ event.returnValue = false; event.cancelBubble = true; } } } } dojo.addOnLoad(function(){ dojo.connect(dojo.byId("confirmPass"),"keypress", function(e){ onKeypress(e);}); }); //--> </script>
Test page
<html> <head> <SCRIPT TYPE=“text/javascript” SRC=“http://ajax.googleapis.com/ajax/libs/dojo/1.3/dojo/dojo.xd.js”></SCRIPT> <script type=“text/javascript”> <!–
function onKeypress(e) { var keycode = (e.which)? e.which:event.keyCode; if (e) { // Mozilla(Firefox, NN) and Opera ctrl = typeof e.modifiers == 'undefined' ? e.ctrlKey : e.modifiers & event.CONTROL_MASK; } else { // Internet Explorer ctrl = event.ctrlKey; } // キーコードの文字を取得 keychar = String.fromCharCode(keycode).toUpperCase(); if (ctrl) { if (keychar == "V") { alert("貼り付け禁止!!"); // イベントの上位伝播を防止 if(e){ e.preventDefault(); e.stopPropagation(); }else{ event.returnValue = false; event.cancelBubble = true; } } }
} dojo.addOnLoad(function(){
dojo.connect(dojo.byId("confirmPass"),"keypress", function(e){ onKeypress(e);});
}); –> </script> </head> <body> <form action=“#”> <table border=“0”> <tr><td>ID :</td><td><input type=“text” size=“10” id=“userid”></td></tr> <tr><td>pasword :</td><td><input type=“password” size=“10” id=“password”></td></tr> <tr><td>confirm :</td><td><input type=“password” size=“10” id=“confirmPass”></td></tr> </table> </form> </body> </html> ===== reference ===== - 各ブラウザのキーに対するキーコード表 - クロスブラウザでのJavaScriptキーボードイベントの扱い方