ブログのシステム変更に伴いこちらの記事はこれ以上更新されません。
再度トップページに戻っていただくと、新しい「ふらふり」をお楽しみいただけます。
ふらふり トップページ

今後もよろしくお願いします。

inputエリアにコピペさせないようにする

2007年09月27日

仕事でやったんですが、inputエリアにコピペさせない方法。
javascriptを使います。
一応、IE6,7でもFirefoxでも動くはず。

用途としては、メールアドレスやパスワード欄を2つ設けていて、間違いないように2回入力させたいときとか。
僕はいつもコピペしますが、間違ったアドレスなんかをコピペされても困る。ってことで。

まずはjavascriptですが、

function okdown(event) {
if(document.all) {
if((window.event.keyCode == 86 && window.event.ctrlKey) || (window.event.keyCode ==45 && window.event.shiftKey)) {
return false;
}
}else{
if((event.which == 86 && event.ctrlKey) || (event.which == 45 && event.shiftKey)) {
return false;
}
}
}
function onkdn(target) {
target.onkeydown = okdown;
}

これでHTMLのほうは、

<form name="nocopipe" method="post">
<p><input name="email" id="email" type="text">e-mail</p>
<p><input name="email2" id="email2" type="text" oncontextmenu="return false;" onkeydown="onkdn(this)">確認用email</p>
</form>

となります。

サンプルはこちら

やってることは、確認用emailのinputにキーが押されたら、そのキーが「Ctrl+V」か「Alt+Insert」だったら、onkeydownにfalseを返しています。
(「Alt+Insert」でもできるって知らんかった…)
あとは、oncontextmenu="return false;"で、右クリックメニューを出さないようにしてます。

IEだけに限るのであれば、もっと簡単で、oncopyとかonpasteとかにfalseを返してあげればコピペできません。

でも、やっぱこれって使い道あるのかな…。

スポンサードリンク

タグ:

Javascript

フッターナビゲーション

トラックバック

このエントリーのトラックバックURL:http://www.sriproot.net/mt/mt/mt-tb.cgi/209

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

« WordPressを試してみて | TOP | thisってすごく便利いい »