Foros del Web » Programando para Internet » Javascript »

No puedo regresar el foco a un campo

Estas en el tema de No puedo regresar el foco a un campo en el foro de Javascript en Foros del Web. Hola! No sé por qué cuando llego a utilizar cajas de texto, en ocasiones no me dejar regresar ni el foco ni el select para ...
  #1 (permalink)  
Antiguo 01/06/2003, 18:05
 
Fecha de Ingreso: septiembre-2002
Mensajes: 43
Antigüedad: 21 años, 8 meses
Puntos: 0
No puedo regresar el foco a un campo

Hola!

No sé por qué cuando llego a utilizar cajas de texto, en ocasiones no me dejar regresar ni el foco ni el select para iluminar el área de entrada con el fin de indicarle al usuario en donde está el error. Una función en la que me pasa esto es en la siguiente:


function sinespacios(control,contenido) {

for (var i=0; i < contenido.length; i++) {
if (contenido.substring(i, i+1) != " ") {
return(false);
}
alert("No introduzca espacios);
control.select();
control.focus();
control.value="";
return(true);
}
}

Esta función la invoco desde una caja de texto, con el evento OnChange="sinespacios(this,this.value)"

Qué es lo que está mal??? Me pueden ayudar????? Gracias!!!!!!!
  #2 (permalink)  
Antiguo 01/06/2003, 18:20
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola marisol02:

Puedo equivocarme, pero creo que control.select() es lo que debe estar provocando el error. Si usas explorer, pincha en la alerta de error para que te indique donde falla, y si coincide en esa línea, prueba a sacarla.

Saludos
  #3 (permalink)  
Antiguo 03/06/2003, 21:26
 
Fecha de Ingreso: septiembre-2002
Mensajes: 43
Antigüedad: 21 años, 8 meses
Puntos: 0
Caricatos hola!!!

Lo que pasa es que no me marca ningún error, simplemente no responde y no hace ni el select ni regresa el foco al campo que quiero. Lo único que si hace es limpiar el control. Estoy usando IE5.5 y ya he probado quitando la línea del select, quitando la del foco, cambiando el orden de las líneas y nada de nada.... Qué otra cosa puedo hacer??? Gracias caricatos!
__________________
Marisol! :corazon:
  #4 (permalink)  
Antiguo 04/06/2003, 03:25
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola marisol02:

Copié tu código para probarlo, y me daba un error la línea del onchange, pero después de un rato mirando lo encontré... y no tiene nada que ver con el código, sino que te falta cerrar las comillas de un alert:

alert(" No introduzca espacios" );

Saludos
  #5 (permalink)  
Antiguo 05/06/2003, 10:16
 
Fecha de Ingreso: septiembre-2002
Mensajes: 43
Antigüedad: 21 años, 8 meses
Puntos: 0
Nuevamente hola caricatos!

Creo que cuando pegué el código en el mensaje me volé las comillas que me dices del alert, pero en el código original si las tengo y sigue sin funcionar.............. el foco lo pierdo!!!
__________________
Marisol! :corazon:
  #6 (permalink)  
Antiguo 05/06/2003, 11:21
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, marisol02. Hola, caricatos.

No entiendo muy bien este tema. Si estás llamando a la función desde una caja de texto, porqué tienes que mandar el foco a ella misma. ¿No se supone que no lo pierde?

Saludos,
  #7 (permalink)  
Antiguo 08/06/2003, 17:51
 
Fecha de Ingreso: septiembre-2002
Mensajes: 43
Antigüedad: 21 años, 8 meses
Puntos: 0
Caricatos!

Ya pude!!! Se necesita convertir la cadena a string y funciona!!!

Hasta la próxima
__________________
Marisol! :corazon:
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 10:51.