Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] saber si todo el formulario esta vacio

Estas en el tema de saber si todo el formulario esta vacio en el foro de Javascript en Foros del Web. Hola. Quiero mostrar un mensaje de alerta si todos los campos de un formulario están vacíos, supongo que es recorrer los campos pero no se ...
  #1 (permalink)  
Antiguo 16/11/2013, 06:30
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
saber si todo el formulario esta vacio

Hola. Quiero mostrar un mensaje de alerta si todos los campos de un formulario están vacíos, supongo que es recorrer los campos pero no se me ocurre cómo.
Alguna sugerencia?

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.         $("#frmDatos").find(':input').each(function() {
  3.          var elemento= this;
  4.          alert("elemento.id="+ elemento.id + ", elemento.value=" + elemento.value);
  5.         });
  6.        });

Última edición por charlyta; 16/11/2013 a las 06:37
  #2 (permalink)  
Antiguo 16/11/2013, 06:40
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: saber si todo el formulario esta vacio

Si no te apetece escribir hay plugins de jQuery muy útiles como:

http://jqueryvalidation.org/documentation/
  #3 (permalink)  
Antiguo 16/11/2013, 06:44
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: saber si todo el formulario esta vacio

Hola. Gracias. No es por no escribir es por aprender ;)
  #4 (permalink)  
Antiguo 16/11/2013, 07:10
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: saber si todo el formulario esta vacio

Para aprender, aquí tienes un post donde se discute por qué es recomendable validar con javascript:
http://www.forosdelweb.com/f13/valid...cript-1081177/

Y aquí otro post donde puse una introducción para crear un pluging de javascript nativo (sin ningún framework) para validar formularios, busca mis comentarios:
http://www.forosdelweb.com/f13/actua...-ajax-1079747/
  #5 (permalink)  
Antiguo 16/11/2013, 07:24
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: saber si todo el formulario esta vacio

Gracias por responder. Entiendo que es necesario la validación. No tenía intención de no validar. Sin embargo, debe haber una manera de no enviar un form si está vacío.
  #6 (permalink)  
Antiguo 16/11/2013, 08:20
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: saber si todo el formulario esta vacio

Con HTML5 puedes añadir el atributo required en todos los elementos del formulario que necesiten un valor, si no no se enviará
  #7 (permalink)  
Antiguo 16/11/2013, 08:45
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: saber si todo el formulario esta vacio

Sí, es cierto, pero en mi caso tan sólo hace falta que un sólo campo aleatorio que contenga un dato para que se envíe, por lo que no me sirve para detectar si está vacío.
  #8 (permalink)  
Antiguo 17/11/2013, 13:36
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: saber si todo el formulario esta vacio

Solucionado!!

function validate(){
var fields = new Array;
var fields = [document.getElementById('autor'),document.getEleme ntById('titulo')];
var err = 0;
for (i=0;i<fields.length;i++){
if (fields[i].value == ""){
err++;
}
}
if (err === 0){
//Submit Form
document.myform.submit();
//document.getElementById('alerta').style.display="n one";
}else {
document.getElementById('alerta').style.display="b lock";
//alert("Please Fill Out All Of The Fields");

return false;
}
}

Etiquetas: formulario, todo, vacio
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 19:40.