- - PR -
javascriptで貼り付け防止できますか。(質問変更)
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-06-07 13:24
いつもお世話になっております。
(質問を変更しちゃってごめんなさい。) HTMLでメールアドを二つのテキストフィールドに入力して二つが同じかどうかなどを確認して送信したいですが 一番目のテキストフィールドは貼り付けがOKですが 2番目のテキストフィールドは貼り付け機能ができないようにしたいです。 できるんでしょうか。 よろしくお願いします。 [ メッセージ編集済み 編集者: ヒデミ 編集日時 2004-06-07 13:45 ] | ||||||||
|
投稿日時: 2004-06-07 13:39
できません
| ||||||||
|
投稿日時: 2004-06-07 13:45
2番目のテキストフィールドのOnFocusでクリップボード内容の破棄(空白で上書き)を実行してやれば実現出来るのではないかと思います。 | ||||||||
|
投稿日時: 2004-06-07 13:56
なんかなぁ...
使用者の想定外のところでClipboardをいじられるのも辛いと思います 業務システムなら許されるのかも知れませんが(あるいはクライアントの意志?) とりあえず、起動時にClipboardを消してしまう汎用辞書アプリケーションがあり タコな仕様だと、常々思ってます -- t2 | ||||||||
|
投稿日時: 2004-06-07 14:02
2番目のテキストボックスのonKeyDown(onKeyPress)イベントで
押されたキーを判定し、Ctrl+Vが押された時だけfalseを返して エスケープするのはどうでしょう? | ||||||||
|
投稿日時: 2004-06-07 14:07
「できますか?」と聞かれましたので、「(ブラウザによっては)できる」と答えただけですので……。私も個人的にはクリップボードを黙っていじられるのはあまり好ましくないと思います。 まあ、ちょっと応用すれば「どこかに内容を退避させておいてOnBlurで(クリップボードの内容が空白であれば)戻す」ですとか考えられなくもないですが、あまりエレガントな実装(解)は無いような気がします。 「画面に一筆『確認のためですので、コピー&ペーストではなく再度ご入力ください』と書く」というのがベストなのではないかと思います。 | ||||||||
|
投稿日時: 2004-06-07 14:16
<INPUT type="text" name="address1">
<INPUT type="text" name="address2" onKeyDown="if(event.keyCode==86)return false;"> Windows版のIE6ですが、一応出来ました。 | ||||||||
|
投稿日時: 2004-06-07 14:24
これだと、ただの「v」の入力も抑止してしまいませんか? if文は if(event.ctrlKey==true && event.keyCode==86) の方がいいかもしれません。 | ||||||||
