Foros del Web » Programando para Internet » Javascript »

Pasar al siguiente textbox al precionar enter

Estas en el tema de Pasar al siguiente textbox al precionar enter en el foro de Javascript en Foros del Web. Estoy intentando de implementar una función que cuando yo le de ENTER me baje al siguiente TextBox ubicando el foco al TabIndex siguiente. Tengo un ...
  #1 (permalink)  
Antiguo 09/06/2004, 12:47
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Pasar al siguiente textbox al precionar enter

Estoy intentando de implementar una función que cuando yo le de ENTER me baje al siguiente TextBox ubicando el foco al TabIndex siguiente.

Tengo un textBox el cual tiene el TabIndex en "1" y llama la función al precionar cualquier tecla, este es mi textbox con TabIndex=1
Código:
<asp:textbox id="txtNoCheque" onkeydown="return keyPress(this, event);" style="Z-INDEX: 104; LEFT: 97px; POSITION: absolute; TOP: 112px" runat="server" Width="108px" Height="24px" tabIndex="1"></asp:textbox>
Tengo otro textbox que tiene el TabIndex = 2.

Este es la función:
Código PHP:
<script language="javascript">
        
window.resizeTo(400,410);

        function 
keyPress (fieldevt){                
            var 
keyCode document.layers evt.which document.all evt.keyCode evt.keyCode;
            
            if (
keyCode != 13)       
                return 
true;
            else{           
                
getNextElement(field).focus();
                return 
false;      
            }
        }

        function 
getNextElement (field){
            var 
frm field.form;
            
            var 
bIs false;   
            var 
Indice field.tabIndex 1
        
            
for (var e=0;e<frm.length;e++){
                if(
frm[e].type=="text" && frm[e].tabIndex == Indice && bIs
                return 
frm.elements[e];
                if (
field==frm[e]) bIs=true;
            }
        } 
</script> 
La función me explota en la línea "getNextElement(field).focus();".
El error dice asi:
Microsoft JScript runtime error: 'undefined' is null or not an object

Pero yo le envio this (el textbox), osea que no puede ser nulo ni mucho menos que no está declarado, que puede estar pasando?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #2 (permalink)  
Antiguo 14/06/2004, 07:51
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Invoqué la función asi:
Código PHP:
onkeydown="return keyPress(this.txtMonto, event);" 
y ahora me da error en esta línea:
Código PHP:
var frm field.form
El error dice:
Microsoft JScript runtime error: 'form' is null or not an object

La verdad que no entiendo porque es nulo. Qué puedo hacer?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #3 (permalink)  
Antiguo 14/06/2004, 11:04
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Hola, RsOfT.

¿Tienes los textbox dentro de un formulario? Si no es así, prueba a ponerlos dentro de las etiquetas <form></form> porque me parece que por ahí es por donde va el error.

Saludos,
  #4 (permalink)  
Antiguo 14/06/2004, 11:33
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Ese no es el problema JavierB, pues aún colocandolo dentro del form da el mismo error, alguna otra idea?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #5 (permalink)  
Antiguo 14/06/2004, 11:36
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
y poniendo 'form.field'?
  #6 (permalink)  
Antiguo 14/06/2004, 11:50
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Bueno, ahora con el .field se para el la línea:
for (var e=0;e<frm.length;e++){

Arrojando el siguiente error:
Microsoft JScript runtime error: 'length' is null or not an object

También intenté asi:
for (var e=0;e<frm.field.length;e++){
y me tira el error: Microsoft JScript runtime error: 'field' is null or not an object

Y ahora?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #7 (permalink)  
Antiguo 14/06/2004, 12:02
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
lo tienes colgado en algún sitio para verlo funcionando?
  #8 (permalink)  
Antiguo 14/06/2004, 12:07
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
ummm, esto.... mira lo que encontré: http://javascript.internet.com/forms...emulation.html
  #9 (permalink)  
Antiguo 14/06/2004, 12:39
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Al parecer el problema está cuando utilizo los textbox de ASP.NET, pero bueno, lo logré solucionar con el escript de la página que me diste, pero sustituyendo la línea:
Código:
eval('document.yourform.' + nextfield + '.focus()');
por esta:
Código:
eval("document.getElementById('" + nextfield + "').focus()");
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #10 (permalink)  
Antiguo 14/06/2004, 14:26
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Vale. Me alegro de que te funcione.
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 17:05.