none
Bloquear Ctrl + V em um WebForm RRS feed

  • Pergunta

  • Olá pessoal,

    Estou com um problema. Tenho uma função em javascript que bloqueia certos caracteres dependendo da situação! Essa função é executada no KeyPress. Acontece que quando eu copio e colo no campo (Ctrl + C e Ctrl + V), ele ignora essa função e coloca os caracteres que não deveria conter no campo.

    Resumindo, alguem conheçe alguma maneira de bloquear o Ctrl + V no TextBox de um WebForm?

    Valeu,
    Renato Santos

    sexta-feira, 28 de julho de 2006 19:50

Respostas

  • Essa função que está aí só funciona no IE. Eu fiz umas alterações nela para colocar no meu site e funcionou nos 3 principais navegadores (IE, Firefox e Chrome). Basta chamá-la assim: onkeydown='return noCopy(event)'

    function noCopy(teclapress) {
     if(navigator.appName == "Netscape") {tecla = teclapress.which;}
     else {tecla = teclapress.keyCode;}
     
     var ctrl = teclapress.ctrlKey;
     
     if (ctrl && tecla==67) {return false;}
     if (ctrl && tecla==86) {return false;}
    }

    Espero ter ajudado.

    quinta-feira, 11 de novembro de 2010 16:24
  • Descobri Claudia,

    Achei uma função em javascript que bloqueia todos Crtl + V e Ctrl + C da tela:

    function Verificar()
    {
                  var ctrl=window.event.ctrlKey;
                  var tecla=window.event.keyCode;
                  if (ctrl && tecla==67) {alert("CTRL+C"); event.keyCode=0; event.returnValue=false;}
                  if (ctrl && tecla==86) {alert("CTRL+V"); event.keyCode=0; event.returnValue=false;}
    }

    coloco no "onKeyDown" no form. Ou se eu quiser colocar em cada TextBox, uso Attributes.Add pra cada objeto TextBox.

    Mesmo assim oObrigado Cláudia!

    sexta-feira, 28 de julho de 2006 20:31

Todas as Respostas

  • Oi, Renato.

    O ato de pressionar o control também chama o KeyPress(), certo? E o keycode enviado é 17, se não me engano ASCII. Não tem jeito de você bloquear essa tecla também?

    sexta-feira, 28 de julho de 2006 20:21
  • Descobri Claudia,

    Achei uma função em javascript que bloqueia todos Crtl + V e Ctrl + C da tela:

    function Verificar()
    {
                  var ctrl=window.event.ctrlKey;
                  var tecla=window.event.keyCode;
                  if (ctrl && tecla==67) {alert("CTRL+C"); event.keyCode=0; event.returnValue=false;}
                  if (ctrl && tecla==86) {alert("CTRL+V"); event.keyCode=0; event.returnValue=false;}
    }

    coloco no "onKeyDown" no form. Ou se eu quiser colocar em cada TextBox, uso Attributes.Add pra cada objeto TextBox.

    Mesmo assim oObrigado Cláudia!

    sexta-feira, 28 de julho de 2006 20:31
  • Blz Renato?

    No IE vc consegue bloquear o CTRL+C e CTRL+V em toda a página com essas 2 linhas, mas infelizmente não funciona em Firefox, por exemplo.

    window.document.body.oncopy  = function() { return false; };
    window.document.body.onpaste = function() { return false; };

    Flw
    terça-feira, 1 de agosto de 2006 23:00
  • Essa função que está aí só funciona no IE. Eu fiz umas alterações nela para colocar no meu site e funcionou nos 3 principais navegadores (IE, Firefox e Chrome). Basta chamá-la assim: onkeydown='return noCopy(event)'

    function noCopy(teclapress) {
     if(navigator.appName == "Netscape") {tecla = teclapress.which;}
     else {tecla = teclapress.keyCode;}
     
     var ctrl = teclapress.ctrlKey;
     
     if (ctrl && tecla==67) {return false;}
     if (ctrl && tecla==86) {return false;}
    }

    Espero ter ajudado.

    quinta-feira, 11 de novembro de 2010 16:24
  • Oi,

    Olhe essa thread,

    http://social.msdn.microsoft.com/Forums/pt-BR/aspnetpt/thread/d6f5535d-823b-45d3-b142-b77881384e37


    Se a resposta solucionar sua dúvida, favor - Votar como Útil Abraço!
    quarta-feira, 17 de novembro de 2010 16:01
  • aqui Funcionou perfeito. Valeu!

    Júnior Pacheco

    quarta-feira, 21 de novembro de 2012 15:59