7

私には2つのフィールドがあります。1つは私のフォームで、emailidもう1つはpassword私のフォームです。ユーザーがこれらのフィールドに貼り付けられないようにしたい。Googleフォームのように、手動で入力する必要があります。

4

3 に答える 3

11

ctrl+v組み合わせを無効にすることもできright clickます。

IEの場合、次のイベントハンドラーを利用できます。

onpaste="return false;" 
oncut="return false;" 
oncontextmenu="return false;" 
oncopy="return false;".

すべてのブラウザの回避策は次のとおりです。

function noCTRL(e) {
      var code = (document.all) ? event.keyCode : e.which;
      var ctrl = (document.all) ? event.ctrlKey : e.modifiers & Event.CONTROL_MASK;
      var msg = "Sorry, this functionality is disabled.";
      if (document.all) {
        if (ctrl && code == 86) {
          //CTRL+V
          alert(msg);
          window.event.returnValue = false;
        } else if (ctrl && code == 67) { 
         //CTRL+C (Copy)
          alert(msg);
          window.event.returnValue = false;
        }
      } else {
        if (ctrl == 2) {
          //CTRL key
          alert(msg);
          return false;
        }
      }
    }

HTMLセクションでは、フィールドは次のようになります。

Email :<input name="email" type="text" value=""/><br/>
Password :<input name="password" type="password" value=""/><br/>
Confirm Email :<input name="email" type="text" value="" onkeydown="return noCTRL(event)"/>    
Confirm Password :<input name="password" type="password" value="" onkeydown="return noCTRL(event)"/>

入力タイプが次の場合、ユーザーはパスワードフィールドをコピーできないと思いますpassword

お役に立てれば。

ノート:

  1. ブラウザでJavaScriptを無効にすると、ユーザーは好きなことを行うことができます
  2. 常にこれを覚えておいてください:ユーザーの自由を尊重してください。
于 2012-05-31T04:36:39.247 に答える
8

2020年の更新

これらのアクションを防止したり、コピーまたは貼り付けされるデータを変更したりするために使用できるイベントがありcopyます。paste(ブラウザサポートのリンクを参照してください)

<input type="text" onpaste="return false">

または、より長いjavascriptバージョン:

const elem = document.getElementById('nopaste');

elem.addEventListener('paste', (event) => {
  event.preventDefault();
});
<input type="text" placeholder="can paste"><br>
<input type="text" id="nopaste" placeholder="can not paste">

于 2020-03-19T16:45:34.837 に答える
0

オンペーストを使用する必要があります。ユーザーがテキストを貼り付けようとすると、貼り付けイベントが発生します。

HTML

<h3>Play with this text area:</h3>
<textarea id="editor" rows="3">Try copying and pasting text into this field!</textarea>

<h3>Log:</h3>
<p id="log"></p>

JavaScript

function logCopy(event) {
  log.innerText = 'Copied!\n' + log.innerText;
}

function logPaste(event) {
  log.innerText = 'Pasted!\n' + log.innerText;
}

const editor = document.getElementById('editor');
const log = document.getElementById('log');

editor.oncopy = logCopy;
editor.onpaste = logPaste;
于 2021-07-06T21:58:14.927 に答える