HTML - Inhabilitar tecla Ctrl en los formularios

   
Vista:
Imágen de perfil de Juan

Inhabilitar tecla Ctrl en los formularios

Publicado por Juan (9 intervenciones) el 10/09/2018 00:15:08
Hola, me gustaría inhabilitar la función de la tecla Ctrl en dos formularios, uno es un buscador interno del siguiente tipo:

1
2
3
4
<form action="DIRECCION DEL SITIO/search" class="formulariodemo cf" method="get">
<input name="q" class="buscador_1" placeholder="Busca en éste sitio ..." required="required" type="text" />
<button type="submit">buscar</button>
</form>

Y el otro es el formulario de comentarios de Blogger, parece que la tecla Ctrl se puede bloquear allí pero no se como hacerlo.

Me gustaría que me ayudaran si es posible, muchas gracias, un cordial saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Inhabilitar tecla Ctrl en los formularios

Publicado por xve (1476 intervenciones) el 10/09/2018 08:25:25
Hola Juan, la tecla CTRL por si sola no hace nada... entiendo que querrás bloquear alguna combinación de teclas, no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan Carlos

Inhabilitar tecla Ctrl en los formularios

Publicado por Juan Carlos (9 intervenciones) el 10/09/2018 09:55:39
Hola xvs, gracias por contestar, si efectivamente, ya se que siempre se puede copiar el código fuente de cualquier página, si no está encriptado, pero me gustaría cortar caminos para que se pueda hacer, y este es un camino que tengo abierto en este momento en mi web, Si sigo obsesionado con esto, seguramente cuando tenga más tiempo para hacerlo, lo encriptaré. La combinación de teclas que quiero que no se utilice es Ctrl u,

He mirado a lo largo y ancho de internet como puedo hacer esto y me ofrecen varias soluciones pero ninguna me ha funcionado. Descubrí navegando WDP, que me parece una idea fantástica para aprender y mostrar mis pequeños conocimientos, porque realmente me gusta compartir lo mío con los demás.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Inhabilitar tecla Ctrl en los formularios

Publicado por xve (1476 intervenciones) el 10/09/2018 15:48:56
Hola Juan Carlos, la verdad es que es un tanto complicado, ya que inspeccionando con el ratón cualquier elemento de la pagina, te muestra el código fuente... con F12 o CTRL+SHIFT+I o CTRL+SHIFT+C en Chrome, también te muestra la consola y el código fuente!!!

Yo te diría que es casi imposible impedir la visualización del código fuente que recibe el navegador.

De todas maneras, he encontrado este código que funciona en Chrome y Opera... que impide el CTRL+C, CTRL+V y el CTRL+U
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script>
document.onkeydown = function(e) {
    if (e.ctrlKey &&
        (e.keyCode === 67 ||
         e.keyCode === 86 ||
         e.keyCode === 85 ||
         e.keyCode === 117)) {
        alert('not allowed');
        return false;
    } else {
        return true;
    }
};
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Juan Carlos

Inhabilitar tecla Ctrl en los formularios

Publicado por Juan Carlos (9 intervenciones) el 10/09/2018 17:38:31
Gracias por el esfuerzo xve, es siempre lo primero que hago cuando alguien muestra interés en ayudar, deberíamos de ser todos así. Te explico como tengo Universo Mágico, tienen un script para bloquear todas las teclas del teclado y el botón derecho del ratón, por lo que fuera de los campos de escritura no se pueden utilizar esas partes del hardware, se ha hecho la excepción oportuna en el script de bloqueo para poder escribir en el buscador interno que tengo en la parte superior de la sidebar. El formulario de comentarios de Blogger no se ve afectado por el script de bloqueo, no sé porque es.

Los únicos sitios en los que se puede utilizar el teclado es en los campos de escritura, en los input. Y el único sitio donde permite utilizar el botón derecho del ratón es en el formulario de comentarios de Blogger.

Acabo de comprobar y efectivamente los comandos que señalas llevan al código fuente, a lo que llaman inspeccionar en el menú contextual.

Sé que se pueden bloquear las teclas de función F, y todas las teclas de función Ctrl, Shift, Alt, Tab, etc. Sería bueno poder añadir éstas teclas a éste código, pero primero quirero probar si funciona en mi sitio. ¿Lo pongo en el <Head> de mi plantilla? o ¿lo pongo en el <body>?

No sé si puedo poner enlaces aquí para mostrar algunos sitios donde dan ciertas soluciones para esto, y lo he probado pero no me funciona porque seguramente no sé confeccionar bien el código del script.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan Carlos

Inhabilitar tecla Ctrl en los formularios

Publicado por Juan Carlos (9 intervenciones) el 10/09/2018 19:17:45
He probado el código y no funciona, ni entre las etiquetas <head> ni entre las etiquetas <body>, supongo que el código debe ir destinado a funcionar en los input, y no en el sitio en general, ya que en el sitio ya hay un script que bloquea todas las teclas del teclado y botón derecho del ratón.

Voy a dejar aquí el código empleado para bloquear todo el teclado y el botón derecho del ratón por si a alguien le interesa, incluidas las excepciones aplicadas, aunque algunas de ellas ya no tienen efecto por no estar el artilugio en cuestión. Igual al aportar este código puedo recibir indicaciones más acertadas.

Se coloca entre las etiquetas <head> y </head>

El código sin excepciones:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<script language='JavaScript'>
function click() {
  if (event.button==2||event.button==3) {
    oncontextmenu=&#39;return false&#39;; alert (&#39;Pagina protegida&#39;);
  }
}
document.onkeydown=keypresed;
document.onmousedown=click
document.oncontextmenu = new Function(&quot;return false;&quot;)
</script>
 
Y el código con las excepciones aplicadas es el siguiente:
 
<script language='JavaScript'>
function click() {
  if (event.button==2||event.button==3) {
    oncontextmenu=&#39;return false&#39;; alert (&#39;Pagina protegida&#39;);
  }
}
function keypresed() {
var t = document.getElementsByClassName(&quot;aladin-target-form&quot;); //Nombre de la clase de aladin
var x = document.getElementsByClassName(&quot;buscador_1&quot;); //Nombre de la clase del Buscador
var y = document.getElementsByClassName(&quot;susmail&quot;); //Nombre de la clase de la suscripcion
var z = document.getElementsByClassName(&quot;coord_maps&quot;); //Nombre de la clase de la suscripcion
  if (
t[0] !== document.activeElement &amp;&amp;
x[0] !== document.activeElement &amp;&amp;
y[0] !== document.activeElement &amp;&amp;
z[0] !== document.activeElement){ //Validamos si el buscador no está seleccionado
    alert (&#39;Pagina protegida&#39;);
  }
}
document.onkeydown=keypresed;
document.onmousedown=click
document.oncontextmenu = new Function(&quot;return false;&quot;)
</script>

Si es necesario aportar más documentación no hay problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Pedro

Inhabilitar tecla Ctrl en los formularios

Publicado por Pedro (63 intervenciones) el 10/09/2018 21:06:16
Hola JuanCarlos el código que ha compartido el compañero Xve es para trabajar con jquery ¿Supongo que lo sabes no...?

Por consiguiente para que se pueda ejecutarse necesitas colocar entre las etiquetas head el path a jquery.js
<head>

<script src="jquery.js"></script>

</head>

Lo que va en negrita es el path a tu jquery.js si lo metes en un directorio tendrás que ponerle la ruta para que lo encuentre

Aquí página descarga del jquery por si no la conoces

Luego para comprobar errores con CTRL+I y clickeando en console podrás ver errores si los tienes de ejecución


Un saludo

yc5vwfjp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan Carlos

Inhabilitar tecla Ctrl en los formularios

Publicado por Juan Carlos (9 intervenciones) el 10/09/2018 21:37:00
Hola Pedro, bienvenido a la discusion, el Jquery que tengo es el de Google apis, son los siguientes:

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js' type='text/javascript'/>

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript'/>

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js' type='text/javascript'/>

he añadido el jquery que tu me das y el código de xve entre las etiquetas head y no bloquea la combinación Ctrl u que es la que me interesa bloquear en las dos cajas de texto, tanto en el formulario de comentarios como en el buscador interno. he probado incluso cambiando 117 por 17, ya que el código que identifica la tecla Ctrl es 17, pero tampoco funiona.

Luego he probado la combinación de teclas Ctrl I en el contenido de la plantilla y no tiene efecto alguno.

Tener en cuenta que aunque tengo un dominio personalizado, mi sitio está alojado en Blogger.

Saludos desde La Coruña.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Inhabilitar tecla Ctrl en los formularios

Publicado por xve (1476 intervenciones) el 10/09/2018 21:51:38
Juan Carlos, lo he probado con un input y bloque igual...

Crea una pagina .html solo con este contenido:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<input type="text">
 
<script>
document.onkeydown = function(e) {
    if (e.ctrlKey &&
        (e.keyCode === 67 ||
         e.keyCode === 86 ||
         e.keyCode === 85 ||
         e.keyCode === 117)) {
        alert('not allowed');
        return false;
    } else {
        return true;
    }
};
</script>

Ábrela desde un navegador y veras que te funciona!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

Inhabilitar tecla Ctrl en los formularios

Publicado por xve (1476 intervenciones) el 10/09/2018 21:47:48
Hola Pedro, no, no, no utiliza jquery... es javascript simple!!!

Si lo pones en una pagina sin jquery veras que te funciona!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Inhabilitar tecla Ctrl en los formularios

Publicado por xve (1476 intervenciones) el 10/09/2018 21:47:09
Hola Juan Carlos, si pones el código que te he compartido en una pagina html sin nada mas... veras que bloquea perfectamente esas teclas... yo lo he probado con una pagina super simple y me ha funcionado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Pedro

Inhabilitar tecla Ctrl en los formularios

Publicado por Pedro (63 intervenciones) el 10/09/2018 21:59:59
Me confundió document.onkeydown = function(e) con $( document ).ready(function() de jquery sorry...compis! .


yc5vwfjp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Juan Carlos

Inhabilitar tecla Ctrl en los formularios

Publicado por Juan Carlos (9 intervenciones) el 10/09/2018 22:18:05
xve, si funciona en el buscador interno de la sidebar, pero no funciona en el formulario de comentarios, aunque por desgracia al ponerlo en una página, sólo funciona en esa página, en el resto de páginas, entradas y página principal no funciona en ninguno de los dos formularios.

La dirección es buena, pero no vale ponerlo en una página. Podria incluirlo en todas las páginas y entradas a partir de ahora, pero ¿que hacemos con las más de 1.500 entradas publicadas? deberíamos aplicarlo de forma que invalidara la combinación de teclas en todo el blog, aunque sólo fuera en el buscador, sería ya un paso dado, luego habría que buscar la forma de hacer lo mismo en el formulario de comentarios de Blogger, lo ideal es encontrar el código que bloquee la combinación de teclas Ctrl u en los dos formularios y en todo el sitio.

Por lo menos he visto que lo hemos conseguido en una página, eso me da esperanzas de que si continuamos con el trabajo lo conseguiremos. Yo particularmente llevo 15 días perdiendo muchas horas al día intentándolo, y el único avance lo ví aquí, entre vosotros, aunque es una victoria muy débil me anima a seguir.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan

Inhabilitar tecla Ctrl en los formularios

Publicado por Juan (9 intervenciones) el 11/09/2018 04:33:22
Trabajando en esto por la noche, he dado con una solución que evita acceder al código fuente desde cualquier sitio de la web excepto el formulario de comentarios de Blogger.

La solución era pegar el código de xve en un gadget HTML Javascript, aunque no he bloqueado Ctrl v porque me interesa para buscar objetos trayendo el número de catálogo copiado. Pero o malo es que deja de tener efecto el código que tenía en la plantilla que bloqueaba todas las teclas del teclado.

Y no he conseguido bloquear estos eventos en el formulario de comentarios de Blogger.

He encontrado un código navegando que bloquea todas las teclas función, pero interactúa mal con éste que me dió xve

Código de bloqueo de las teclas función, que no bloquea en el formulario de comentarios por si lo podéis arreglar es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<head>
<script>document.onkeydown=function() {
if (window.event) {
if((window.event.keyCode == 8) ||
((window.event.keyCode >= 113) &quot;&quot; (window.event.keyCode &#60;&#61;123)))
{
//Bloquear Backspace
//Bloquear Teclas Fxx (excepto F1)
window.event.cancelBubble = true;
window.event.keyCode = 8;
window.event.returnValue = false;
return false;
}
}
 
if(event.altLeft) {
if((window.event.keyCode == 37) || (window.event.keyCode == 39)) {
//Bloquear Alt + Cursor Izq/Der.
return false;
}
}
 
if(event.ctrlKey) {
//Bloquear Ctrl
return false;
}
 
//alert(window.event.keyCode);
return true;
 
}
</script>
</head>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Inhabilitar tecla Ctrl en los formularios

Publicado por xve (1476 intervenciones) el 11/09/2018 08:37:58
Desconozco por completo como funciona blogger, pero entiendo que todas estas entradas, utilizan algún archivo de JavaScript común.

No se si es posible modificar ese archivo de javascript común, o la cabecera de la web, o algo que sea común para todas las paginas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan

Inhabilitar tecla Ctrl en los formularios

Publicado por Juan (9 intervenciones) el 11/09/2018 12:26:27
xve, tu código funciona si se pone en un gadget HTML Javascript de Blogger, pero al tener yo un bloqueado de todo el teclado en todo el blog excepto en los input, tu código,anula su función. El código instalado es muy bueno, está ya hace tiempo hecho para blogger, pero lamentablemente no bloquea el teclado en los input, que es lo que le falta.

Si hay algún experto en Blogger que sepa como bloquear el teclado en el formulario de comentarios de Blogger y en un formulario de búsqueda, por favor su ayuda sería inestimable, gracias!!

Gracias por el esfuerzo xve, uno se siente bien cuando intentan ayudarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Inhabilitar tecla Ctrl en los formularios

Publicado por Juan Carlos (9 intervenciones) el 14/09/2018 23:31:52
No hay nadie por aquí que sepa algo de Blogger?

La pregunta es: Se puede inhabilitar sólo la tecla Ctrl en un formulario?

Gracias de antemano, un cordial saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad