Writing /volume1/Web/Public/dokuwiki/data/log/deprecated/2024-11-15.log failed

文書の過去の版を表示しています。


Writing /volume1/Web/Public/dokuwiki/data/log/deprecated/2024-11-15.log failed

Prevent paste operation in text-field

ユーザー登録画面とかでパスワードとかメールの確認の貼り付け(Ctrl+V)を防止したい時があると思う。
今回はその場面で役立つようなjavascriptコードを紹介する。

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) {
    
if (e != null) { //Firefox, NN
    keycode = e.charCode; 
    ctrl    = typeof e.modifiers == 'undefined' ? e.ctrlKey : e.modifiers & Event.CONTROL_MASK; 
    // イベントの上位伝播を防止 
    //e.preventDefault(); 
    //e.stopPropagation(); 
    
} else { // Internet Explorer 
    keycode = event.keyCode; 
    ctrl    = event.ctrlKey; 
          // イベントの上位伝播を防止 
    //event.returnValue = false; 
    //event.cancelBubble = true; 
} 
     
// キーコードの文字を取得 
keychar = String.fromCharCode(keycode).toUpperCase(); 
	
      if (ctrl) { 
    if (keychar == "V") { 
        alert("貼り付け禁止!!");

e.preventDefault(); e.stopPropagation();

    } 
}
      

} 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 ===== - http://programming-magic.com/file.php?id=61 : 各ブラウザのキーに対するキーコード表 - http://javascriptist.net/docs/pract_keyboard_event.html : クロスブラウザでのJavaScriptキーボードイベントの扱い方