Ver Mensaje Individual
  #6 (permalink)  
Antiguo 10/04/2010, 00:23
Avatar de caricatos
caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Respuesta: Validando formulario y mostrando mensaje

Cita:
Iniciado por _cronos Ver Mensaje
Con javascript, por ejemplo:

Código PHP:
<html>
 <
head><title>Formulario</title></head>
 <
body>
  <
form name="mi_formulario" action="">
  <
input type=text name=texto1 size=5>
  <
select name="misopciones">
   <
option value="opcion1"opcion1
   
<option value="opcion2"opcion2
  
</select>
  <
input type=submit onSubmit="validarenvio()" value="Enviar">
 </
form>
 </
body>
</
html
el script sería:

Código PHP:
<script>
 
funtion validarenvio(){
  
  if(
document.mi_formulario.texto1.value.length==0){
   
alert("Escribe el texto, por favor"); 
   
document.mi_formulario.texto1.focus():
   return 
0;
  }

  if(
document.mi_formulario.misopciones.selectedIndex==0){
   
alert("Escoge una opción, por favor")
   
document.mi_formulario.misopciones.focus()
   return 
0;
  }

  
document.mi_formulario.submit()
 } 
Suerte!

Hola otra vez:

_cronos:

Tu código no está del todo bien...

onsubmit (todas las letras minúsculas) es el manejador del evento submit y debe usarse en el tag form, y debe anteponerse la palabra return para procesar una posible cancelación si lo que recibe es false.

Cuando se usa el método submit, no es necesario usar un botón del tipo submit... o sea que si tu botón fuese del tipo button el resultado sería el mismo.

La cuestión es que tal como lo has puesto, el formulario se envía siempre, ya que usas un botón submit, y no existe el evento submit en tags que no sean "form"

Otra cosa importantísima... false y 0 son cosas distintas.

Otra cosa que siempre hay que considerar son los posibles errores, cuando se producen, se cancela la cancelación (vaya la redundancia) y el formulario se envía igual si se trata de un botón del tipo submit, así que siempre es aconsejable una doble validación (también en el servidor), además, los navegadores siempre tienen la opción de deshabilitar javascript.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo