Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/09/2008, 21:52
Avatar de jseros
jseros
 
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 15 años, 9 meses
Puntos: 18
Respuesta: validar campos

Hola kitty14. Lo que puedes hacer es lo siguiente, cambia el tipo del botón de button a submit. Es lo correcto, para eso se hicieron esos botones:

Código:
if( window.onload )
  var onlfunc = window.onload;
else
  var onlfunc = function(){};

window.onload = function(){
    onlfunc();
    document.getElementById( "fPedido" ).onsubmit = function(){
         return envio( this );
    };
};

function envio( form2send )
{
   //verifica primero si estan completos los campos y si no es así muestra la alerta
   if( validar( form2send )  )
  {
       new Ajax.Updater('apartado',  form2send.action  ,{
       parameters: $( form2send ).serialize(true)});
  }
  return false;
}
HTML

Código HTML:
<form id="fPedido" name="fPedido" class="formu" action="correo.jsp">

<input type="submit" name="enviar" value="Enviar"> 
Aunque deberias dar una opción a las personas que usan un navegador que no soportan javascript total a parcialmente creando una validación en el servidor...

Te explicaré el código:

Código:
if( window.onload )
  var onlfunc = window.onload;
else
  var onlfunc = function(){};
Verifico si se va a ejecutar algo con el evento onload, si es así lo guarda en la variable onlfunc como si fuera una función, pero si no almacena en esa misma variable una función vacía.

Código:
window.onload = function(){
    onlfunc();
    document.getElementById( "fPedido" ).onsubmit = function(){
         return envio( this );
    };
};
En el evento onload guardo una función que ejecute lo que esté almacenado en la variable onlfunc, que puede ser una función vacía o no y accedo al formulario programandole el evento onsubmit que devuelve el resultado de la función envio.

Código:
function envio( form2send )
{
   //verifica primero si estan completos los campos y si no es así muestra la alerta
   if( validar( form2send )  )
  {
       new Ajax.Updater('apartado',  form2send.action  ,{
       parameters: $( form2send ).serialize(true)});
  }
  return false;
}
En la función envio recibo como parametro el formulario y verifico su integridad con la función validar(simpre cancela el evento). como puedes ver accedo a el archivo mediante la propiedad action par que no sea algo invasivo.

Espero que el código no sea dificil de entender y que te funcione como esperas. Sino, igual aquí estamos para colaborarte...quedo pendiente y un saludo!!