Comunidad de diseño web y desarrollo en internet online

Foco() (javascript) en Firefox

Citar            
MensajeEscrito el 20 Nov 2007 02:55 pm
Estoy tratando de validar un formulario por medio de el foco de cada campo de los campos a validar pero una vez que deja de tener el foco se supone que valida y si no esta correcta la validacion devuelve el foco al campo a validar y no va a salir de ahy hasta que se llene el campo como debe ser, funciona bien en windows pero no en firefox... el codigo es el siguiente...

Código :

<form action="" method="post" name="f1" id="f1" onsubmit="FAjax('principal.php','contenido2','nombre='+document.getElementById('nombre').value+'&apellido='+document.getElementById('apellido').value+'&telefono='+document.getElementById('telefono').value+'&enviado='+document.getElementById('enviado').value,'post'); return false">
Nombre de Usuario <input type=text name=nombre id="" nombre onBlur="return valida()" value=><br>
Apellido de Usuario <input type=text name=apellido id=apellido  value=><br>
Telefono de Usuario <input type=text name=telefono id=telefono  value=><br>
Prueba select <select name=Select>
   <option value=1 >erick</option>
   <option value=2 >Pepe</option>
   <option value=3 >Takashi</option>
</select><br>
Prueba2 <select name=Select2>
   <option value=1 >hernandez</option>
   <option value=2 >Trueno</option>
   <option value=3 >Onimaru</option>
</select><br>
Prueba checkbox <input type=checkbox nombre=Checkbox id=Checkbox value=><br> 
<input type=submit name=enviar id=enviar  value=Enviar><br> <input type=hidden name=enviado id=enviado  value=true>
</form>

en ese codigo se esta validando solo el campo nombre el javascript es el siguiente:

Código :

<script language="JavaScript">

<!--

function valida(){

   if (document.f1.nombre.value==""){

      alert("Debes Colocar tu Nombre");

      document.f1.nombre.focus();

      return false;

   }

return true;

}

//-->

</script>


Que tengo que hacer para que funcione tambien en firefox?

Por Takashi

Claber

105 de clabLevel



Genero:Masculino  

Caracas - Venezuela

firefox
Citar            
MensajeEscrito el 20 Nov 2007 04:39 pm
Para hacer eso deberias usar el evento onblur de js...

Código :

<input type="text" onBlur="validar(this);" value="" name="campo" id="campo"/>


y el js seria algo asi

Código :

function valudar(obj){
   //validamos que no este vacio
   if(obj.value == ""){
        //le pongo el fondo rojo y el texo en blanco asi lo diferencio q esta mal
        obj.style.color = "#ffffff";    //no recuerdo # adelante del codigo hexa... fijate
        obj.style.backgroundColor = "#ff0000";    //no recuerdo # adelante del codigo hexa... fijate
        obj.focus();  //lo doy el foco
   }else{
        //esta todo bien => vuelvo a la normalidad los colores
         obj.style.color = "#000000";   
        obj.style.backgroundColor = "#ffffff";
   }
}


y listo... ten en cuenta q este es un codigo de ejemplo... abria q arreglarlo un poco y adaptarlo a q tu codigo




PD: EL ajax esta mal... no lo debes llamar cuando hacer submit... es mas NO debes hacer submit... es la idea del ajax (mensajes asincronicos/no recargar paginas) si usas el submit NO uses ajax ya q es al pedo...


Saludos

Por 3w

145 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.