Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/12/2009, 08:16
Mar_Nube
 
Fecha de Ingreso: abril-2007
Mensajes: 12
Antigüedad: 17 años, 1 mes
Puntos: 0
Pregunta validar formulario según botón pulsado

Hola
Tengo un formulario con varios campos de texto y dos botones (Guardar y Cancelar).
Los botones son de tipo input image pq así puedo aplicarles una imagen y un rollover.
Hasta aquí todo correcto, si pulso Guardar guarda un nuevo registro en la bd y si pulso cancelar me devuelve a la página anterior (esto lo hace en otro php). El problema viene cuando quiero validar q los campos de texto no queden vacios. He probado a hacer la validación en el onclick de los botones, pero no me va, no se si por ser input image o q, el caso es q no tira.
La situación ahora mismo es q como el validar está en el onsubmit del formulario, me valida tanto si guarda como si cancela. Entonces, cuando le doy a cancelar (con los campos vacios) no me vuelve hacia atrás sino que me dice q los campos están vacios.
He pensado q una buena opción sería en el onsubmit del formulario, o en la funcion javascript, comprobar que botón he pulsado, pero no se como hacerlo.
Os pongo el código por si alguien se le ocurre algo
Gracias


Código Javascript
Código:
<script>
function valida_envia()
{
   with(document.fcalen)
   {
      if(!titulo.value)
      {
         alert('Falta el titulo.');
         titulo.focus()
         return false;   
      }
	  if(!descripcion.value)
      {
         alert('Falta la descripción.');
         titulo.focus()
         return false;   
      }

   }
}
</script>
Código Html:
Código:
<form name="fcalen" action="<?php echo $archivo ?>" method="post" onSubmit="return valida_envia();">
<table>
	<tr>
		<td>Título:<input style="font-size:10px" type="text" name="titulo" value="<?php echo $titulo ?>" size="50" maxlength="50"></td>
		<td>Descripción:<input style="font-size:10px" type="text" name="descripcion" value="<?php echo $descripcion ?>" size="80" maxlength="150"></td>
	</tr>
	<tr>
		<td><input type="image" name="guardar" src="imagenes/guardar_off.gif" onmouseout="javascript:this.src='imagenes/guardar_off.gif'" onmouseover="javascript:this.src='imagenes/guardar_on.gif'" alt="Guardar" /></td>
		<td><input type="image" name="cancelar" src="imagenes/cancelar_off.gif" onmouseout="javascript:this.src='imagenes/cancelar_off.gif'" onmouseover="javascript:this.src='imagenes/cancelar_on.gif'" alt="Cancelar" /></td>
	</tr>
	<tr>
		<td><input type=hidden name="id" value="<?php echo $id ?>"></td>
	</tr>		
</table>
</form>