Foros del Web » Programando para Internet » Javascript »

Funcion que realiza una parte pero no continua ejecutandose

Estas en el tema de Funcion que realiza una parte pero no continua ejecutandose en el foro de Javascript en Foros del Web. esta funcion la llamo con el evento onblur desde al cambiar de un imput a otro , la cuestion es que si hay un erro ...
  #1 (permalink)  
Antiguo 18/06/2007, 00:27
 
Fecha de Ingreso: julio-2006
Ubicación: sevilla
Mensajes: 251
Antigüedad: 17 años, 10 meses
Puntos: 5
Funcion que realiza una parte pero no continua ejecutandose

esta funcion la llamo con el evento onblur desde al cambiar de un imput a otro , la cuestion es que si hay un erro quiero que me borre el contenido de la caja pero aundetectantdo que el numero no cumple las caracteristicas no lo borra

el input es asi :

<input class="required validate-digits" name="telfpers" type="text" style="width:25%" title="Debe ingresar el tel&eacute;fono personal."onBlur="telefono(this.value,this.name);"/>

el codigo del script asi:

function telefono(tel,formu) {
// donde tel es el valor del input
//donde formu, es el nombre del input
if (!/^\d{9}$/.test(tel)) {

alert ("El teléfono introducido no es válido. Debe tener 9 dígitos" + formu);
document.fcurso.formu.focus();
document.fcurso.formu.value="";
return false;
}}
  #2 (permalink)  
Antiguo 18/06/2007, 00:56
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Re: Funcion que realiza una parte pero no continua ejecutandose

Hola:

Estás vaciando un campo que según parece se llama "formu" (document.fcurso.formu.value="";) y tu input lo tienes con otro nombre (name="telfpers")

Creo que simplificarías invocando a la función con el parámetro this:
onBlur="telefono(this)"

Y la definición:

Código:
function telefono(campo) {
// donde tel es el valor del input
//donde formu, es el nombre del input
if (!/^\d{9}$/.test(campo.value)) {

alert ("El teléfono introducido no es válido. Debe tener 9 dígitos" + formu);
campo.focus();
campo.value="";
return false;
}}
No tiene sentido el return false, y pienso que sería mejor invertir el orden de las instrucciones para vaciar el campo y dar el foco (aunque estas cosas no deberían influir en el funcionamiento)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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:24.