Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/05/2005, 11:14
pacoalonso79
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 238
Antigüedad: 21 años, 6 meses
Puntos: 0
foco de caja de texto al final despues de un cambio

hola a todos:
he cogido y adaptado un javascript de conversión a mayúsculas de los caracterres de una caja de texto... este es el codigo...
Código PHP:
<html>
<
head>
    <
script languaje="javascript">
    function 
todoMay(caja) {
    var 
key window.event.keyCode;
    if (
key == 225 || key == 233 || key == 237 || key == 241 || key == 243 || key == 250 || (key >= 65 && key <= 90)) {
        eval(
caja ".value = " caja ".value.toUpperCase()");
    }
}
    
</script>
</head>
<body>
<form name="frm">
    <input type="text" name="caja" onKeyUp="javascript:todoMay('frm.caja')">
</form>
</body>
</html> 
Hasta aqui todo bien, la funcion cumple y cuando el usuario digita en la caja una letra se le cambia a mayúsculas.... el problema viene si por ejemplo digitó dentro de la caja lo siguiente: EL ES INGENIERO y desea poner en vez de EL: ELLA, bueno pues, cuando pone el cursor en la L y quiere escribir otra L y luego la A, al escribir la L, el cursor se va al final y luego de escribir la A la frase termina asi: ELL ES INGENIEROA..... yo quisiera saber como puedo corregir este problema, he estado buscando alguna funcion como setCaretPosition() pero no encuentro nada y ni forma de coservar el caret del cursor en la posicion donde se esta escribiendo y que no salte al final... quiza haya alguna ogra funcion envez de eval(...value = ... value.toUpperCase()) que me permita obtener el mismo resultado (todo a mayúsculas) y que no mueva el cursor de la caja de texto

Muchas gracias de antemano y espero que esto tenga solución
Éxitos a todos
Paco
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche