Foros del Web » Programando para Internet » Javascript »

Javascript para desabilitar tecla Bloq Mayus

Estas en el tema de Javascript para desabilitar tecla Bloq Mayus en el foro de Javascript en Foros del Web. Salu2 he buscado un script para hacer lo siguiente, necesito que aunque este encendida la tecla Bloq Mayus lo que yo escriba se haga en ...
  #1 (permalink)  
Antiguo 12/11/2007, 08:39
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 10 meses
Puntos: 0
Pregunta Javascript para desabilitar tecla Bloq Mayus

Salu2 he buscado un script para hacer lo siguiente, necesito que aunque este encendida la tecla Bloq Mayus lo que yo escriba se haga en minúscula, y que solo me permita introducir letras mayusculas al presionar simulatenamente la tecla Shift+la letra que deseas que sea mayuscula.

No se si me explico, tengo este jscript
<script language="javascript" type="text/javascript">
var ant="";
var cont=0;
var ban=0;
var ban1=0;

function mayusculas(e)
{
var textoOriginal = String.fromCharCode(e.keyCode);
e.keyCode = 0;
var textoMayuscula = textoOriginal.toLowerCase();
e.keyCode = textoMayuscula.charCodeAt();
if (cont==0){
var textoM2= textoOriginal.toUpperCase();
e.keyCode = textoM2.charCodeAt();
ant=0;
cont=cont+1;
}
if(e.keyCode==8){
cont=cont-1;
}
if (ant==32 && ban==1){
var textoM= textoOriginal.toUpperCase();
e.keyCode = textoM.charCodeAt();
ban=0;
ant=e.keyCode;
}
if (ant==46 && ban1==1)
{
var textoM= textoOriginal.toUpperCase();
e.keyCode = textoM.charCodeAt();
ban1=0;
ant=e.keyCode;
}
if(e.keyCode==46){
ant=e.keyCode;
ban=1;
ban1=1;
}
if (e.keyCode==8 || e.keyCode== 32) return true;

}
</script>


este script efectivamente desabilita la tecla Bloq Mayus, pero absolutamente todo el texto lo pone en minuscula a excepción del texto q' precede a un punto, pero no me permite poner mayusculas en nombres de paises o ciudades por ejemplo sino van despues de un punto, no me permite poner en mayusculas con la tecla Shift.

Gracias!
  #2 (permalink)  
Antiguo 12/11/2007, 14:28
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Re: Javascript para desabilitar tecla Bloq Mayus


<input onkeyup="this.value=this.value.toLowerCase()" />

Y ya está!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 14/11/2007, 11:48
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Javascript para desabilitar tecla Bloq Mayus

gracias por contestar, probé tu codigo:

<asp:TextBox id="titulo" runat="server" MaxLength="250" onkeyup="this.value=this.value.toLowerCase()" ></asp:TextBox>

y funciona exactamente como mi script no puedo colocar mayusculas en nombres de paises por ejemplo al presionar Shift+la letra que deseo colocar en mayuscula, lo que no quiero es que escriban toda un parrafo en mayuscula, es decir desabilitar la tecla bloq mayus, pero cuando el usuario desee escribir nombres propios si pueda colocar una mayuscula presionando shift+letra, además mi script tiene una ventaja reconoce que dspues de un punto y al principio de un parrafo tiene que ir con mayuscula y tu sentencia no reconoce eso.

please ayuda con esto!!
  #4 (permalink)  
Antiguo 14/11/2007, 11:53
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Re: Javascript para desabilitar tecla Bloq Mayus

Hombre, con una sola sentencia hago casi lo mismo que tú con todo tu código!

Tal vez se podría hacer un cálculo de las mayusculas que tiene el texto. Si más de la mitad de las letras están escritas en mayusculas se advierte de que no se puede escribir en mayúsculas y que lo corrija. Serviría?
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 14/11/2007, 15:53
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Javascript para desabilitar tecla Bloq Mayus

¿Eliminar dos mayúsculas seguidas? Eso se puede hacer con expresiones regulares. Si queremos salvar también que se escriba una mayúscula en medio de una palabra, o permitir mayúscula después de un punto y permitirla también al comienzo de palabra, también es posible hacerlo mediante expresiones regulares...


Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #6 (permalink)  
Antiguo 14/11/2007, 16:50
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Re: Javascript para desabilitar tecla Bloq Mayus

Ese es mi derkenuke! El rey de las expresiones regulares!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #7 (permalink)  
Antiguo 16/11/2007, 08:31
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Javascript para desabilitar tecla Bloq Mayus

Cita:
Iniciado por KarlanKas
Ese es mi derkenuke! El rey de las expresiones regulares!
Jejje, uno hace lo que puede



Aquí unos ejemplos, a ver si podemos sacar algo en claro:
Código:
// escribir en el documento una ristra (x)html fuera de tiempo de ejecución.
function e(q,sinBR) {
	var elDIV = document.createElement("DIV");
	if(q==undefined) q="";
	if(!sinBR) q+="<br/>";
	elDIV.innerHTML = q;
	for(var a=0; elDIV.childNodes.length>a; a++) {
		document.body.appendChild( elDIV.childNodes[a].cloneNode(true) );
	}
}


function eliminarMayusSeguidas(str) {
	var re = /([A-Z])([A-Z]+)/g;
	return str.replace(re, function($1, $2, $3) {
		return $2 + $3.toLowerCase();
	} );
}
var str = "hola ESto sON muCHas maYUScuLAS segUIDAs";
e( str );
e( eliminarMayusSeguidas(str) );



function mayusDespuesDePtoSolo(str) {
	str = str.toLowerCase();
	var re = /\. *([a-z])/g;
	return str.replace(re, function($1) {
		return $1.toUpperCase();
	} );
}
var str = "Aqui tenemos un texto. Ahora hay un punto.y otro punto.mas.menos. espacio.  espacios.";
e( str );
e( mayusDespuesDePtoSolo(str) );



function capitalizePalabras(str) {
	str = str.toLowerCase();
	var re = /\b([a-z])/g;
	return str.replace(re, function($1) {
		return $1.toUpperCase();
	} );
}
var str = "todas las palABRAS que poNGO aqui DebeN ir En mayUSCULA solo su priMERA LETRA.";
e( str );
e( capitalizePalabras(str) );
Un saludo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #8 (permalink)  
Antiguo 16/11/2007, 08:36
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Javascript para desabilitar tecla Bloq Mayus

Muchas gracias derkenuke ahora mismo voy a probar tu codigo, cualquier cosa te pregunto, ok? muchas gracias por tu ayuda de verdad necesito hacer ese efecto.
  #9 (permalink)  
Antiguo 16/11/2007, 08:40
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Javascript para desabilitar tecla Bloq Mayus

Ya tengo una pregunta, como hago para llamar a todas esas funciones desde mi texbox?

<asp:TextBox id="titulo" runat="server" MaxLength="250" ></asp:TextBox>
  #10 (permalink)  
Antiguo 16/11/2007, 10:09
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Javascript para desabilitar tecla Bloq Mayus

Bueno, todavía no sabemos muy bien lo que quieres... teniendo en cuenta que por javascript no podemos desactivar el Bloq Mayus, ¿Qué quieres buscar y qué es lo que quieres poner en su lugar? ¿Cómo trabajamos con los puntos? Las cuestiones que te preguntaba ahí arriba...
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #11 (permalink)  
Antiguo 16/11/2007, 15:16
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Javascript para desabilitar tecla Bloq Mayus

Bueno sino se puede desactivar la tecla Bloq Mayus con javascript, como podría lograr entonces q' el usuario no escriba en un textbox todo con mayuscula sino solo despues de un punto, y cualquier nombre propio que a él se le ocurra poner con mayuscula pero solo presionando la tecla shift+letra requerida, no se si me explico bien, pero el script que puse arriba hacer eso pero solo funciona en IE en mozilla no y además no me permite poner letras con mayuscula al presionar la tecla shift+letra requerida, pero si me valida los puntos.

gracias por su ayuda!
  #12 (permalink)  
Antiguo 18/11/2007, 13:42
 
Fecha de Ingreso: noviembre-2007
Mensajes: 12
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Javascript para desabilitar tecla Bloq Mayus

gracias , me sirvio de mucho
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:54.