Foros del Web » Programando para Internet » Javascript »

Duda sobre evento onkeyup con tecla ENTER

Estas en el tema de Duda sobre evento onkeyup con tecla ENTER en el foro de Javascript en Foros del Web. Buenas Tardes. Tengo la siguiente duda. Tengo un formulario donde tengo que validar que el campo sea de 8 caracteres y que no envie el ...
  #1 (permalink)  
Antiguo 13/09/2007, 15:06
 
Fecha de Ingreso: mayo-2005
Mensajes: 27
Antigüedad: 19 años
Puntos: 0
Exclamación Duda sobre evento onkeyup con tecla ENTER

Buenas Tardes.

Tengo la siguiente duda.

Tengo un formulario donde tengo que validar que el campo sea de 8 caracteres y que no envie el formulario hasta que no valide el numero que se ingresa. Esta busqueda la hago dando enter sobre el campo de texto, pero cuando me valida el valor, efectivamente aparece el alert diciendo que el campo debe tener 8 caracteres, pero el problema es que me envia el formulario, lo cual no lo debe hacer hasta que este bien el número.

Coloco el código para que por favor me colaboren.

Código:
function salta(){
  if(window.event.keyCode == 13){
    if(document.form2.telefono.length!=8){
       alert ('El campo debe contener 8 caracteres!');
	   Frm.telefono.focus();
	   return false;
	}
	else{
	   document.form2.submit();							
	   return true;
	}
  }	
}
Código HTML:
<form name="form2" method="post" action="">
                  <input name="telefono" type="text" class="inputbox" id="telefono" value="<?php echo $telefono; ?>" size="20" onkeypress="return salta();">
                  </form> 
Gracias!!!!!
  #2 (permalink)  
Antiguo 15/09/2007, 03:59
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Duda sobre evento onkeyup con tecla ENTER

Hola freemojorisin

Creo que el problema estaba en esta línea:

Frm.telefono.focus();

No hay ningún elemento que se llame Frm

De todas formas he modificado un poco tu código para que también funcione en Firefox:

Código:
<form name="form2" method="post" action="">
<input name="telefono" type="text" class="inputbox" id="telefono" value="<?php echo $telefono; ?>" size="20" onkeypress="return salta(event,this);">
</form>
Código PHP:
function salta(e,obj){
  if(
e.keyCode == 13){
    if(
obj.value.length!=8){
       
alert ('El campo debe contener 8 caracteres!');
       
obj.focus();
       return 
false;
    }
    else{
       
document.form2.submit();                            
       return 
true;
    }
  }    

Saludos,
  #3 (permalink)  
Antiguo 16/09/2007, 16:50
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
Re: Duda sobre evento onkeyup con tecla ENTER

El largo del texto lo podrias validar agregando el atributo maxlength="8" del input, de esta forma no se podrian ingresarian mas de 8 caracteres y te ahorrarias el codigo JS.
__________________
KIBIT.cl
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 15:43.