Foros del Web » Programando para Internet » Javascript »

Funcion focus no camina

Estas en el tema de Funcion focus no camina en el foro de Javascript en Foros del Web. Hola: Tengo un formulario para entrada de datos. En el mismo tengo varias líneas, que corresponden a varios artículos, o sea que SE FORMA UN ...
  #1 (permalink)  
Antiguo 08/06/2010, 15:01
 
Fecha de Ingreso: febrero-2010
Mensajes: 11
Antigüedad: 14 años, 2 meses
Puntos: 0
Funcion focus no camina

Hola:

Tengo un formulario para entrada de datos. En el mismo tengo varias líneas, que corresponden a varios artículos, o sea que SE FORMA UN ARRAY DE HTML.
Cuando abandono un campo, llamo al evento onblur. Si el campo no cumple los requisitos, deseo que el usuario no pueda abandonar el campo.

Para ello efectuo las sentencias JAVASCRIPT:

<script>
function checkart(linea) {
//aqui pongo el codigo de validacion
//y si no es valido efectuo:

document.forms.altasdeventas.txtnroart.[linea].focus()
}
</script>

donde:
altasdeventas es el nombre del form
linea contiene el indice del array para el campo txtnroart (nro articulo).

Pues bien, pasa al siguiente campo ...
cuando deberia quedarse en txtnroart[linea]
gracias de antemano.
  #2 (permalink)  
Antiguo 08/06/2010, 15:10
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Funcion focus no camina

document.forms[0].txtnroart[linea].focus();

Saludos (:
  #3 (permalink)  
Antiguo 08/06/2010, 15:17
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Funcion focus no camina

cambia:
Código Javascript:
Ver original
  1. document.forms.altasdeventas.txtnroart.[linea].focus()
por:
Código Javascript:
Ver original
  1. document.altasdeventas.txtnroart[linea].focus();

pero suponiendo que tienes una serie de inputs con el nombre asi txtnroart[]

Suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #4 (permalink)  
Antiguo 10/06/2010, 16:11
 
Fecha de Ingreso: febrero-2010
Mensajes: 11
Antigüedad: 14 años, 2 meses
Puntos: 0
Sonrisa Respuesta: Funcion focus no camina

Gracias amigos, el problema parece venir del navegador Mozilla Firefox ya que el problema no sucede con IE8.
Por lo que pude investigar muchas personas se han enfrentado al problema. Como no he visto solución aún, implementé una solución "manual".

La misma consiste que en el evento onFocus del campo para donde se "escapa" el foco, dependiendo del valor de una variable booleana, realizo una puesta en foco manual del campo que quiero (usualmente el campo anterior).
Me explico: si la variable tiene su valor normal (por ej. 0), significa que se llegó a ese campo porque correspondía, entonces proceso dicho campo como se debe. Si la variable no tiene su valor normal(por ej 1), significa que ha sido seteada en el evento onBlur del campo anterior que estaba siendo chequeado Y DEL CUAL NO DEBIO HABER SALIDO, entonces convoco a la funcion focus del mismo para volver al campo anterior.
Saludos cordiales.
  #5 (permalink)  
Antiguo 10/06/2010, 16:51
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Funcion focus no camina

personalmente no te recomiendo que uses onblur de esa forma. primero que no lo considero practico el obligar al usuario llenar un campo de esa forma. segundo, dependiendo de como realices la validacion pudieras terminar en un bucle infinito. es decir, supongamos que tienes dos campos que validan en onblur y fuerzas el focus al campo. si el usuario lleno incorrectamente el campo y se mueve al proximo campo, el onblur del campo anterior tirara el focus provocando asi que se invoque onblur del otro campo y continua asi en un bucle. supongo que por eso es que en firefox focus no se puede invocar en el evento onblur.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 18/06/2010, 07:19
 
Fecha de Ingreso: febrero-2010
Mensajes: 11
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Funcion focus no camina

Estoy consciente del problema del posible bloqueo y un loop infinito. Muchas gracias a todos.

Etiquetas: focus, funcion
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 08:50.