Foros del Web » Programando para Internet » Javascript »

Validar formulario dinamico (solo algunos campos)

Estas en el tema de Validar formulario dinamico (solo algunos campos) en el foro de Javascript en Foros del Web. Hola, tengo una pagina html que se genera dinamicamente con un jsp, con lo cual cada vez tengo unas paginas distintas generadas como resultado. Y ...
  #1 (permalink)  
Antiguo 14/01/2010, 11:13
 
Fecha de Ingreso: enero-2010
Mensajes: 3
Antigüedad: 14 años, 3 meses
Puntos: 0
Validar formulario dinamico (solo algunos campos)

Hola,
tengo una pagina html que se genera dinamicamente con un jsp, con lo cual cada vez tengo unas paginas distintas generadas como resultado. Y en estas paginas tengo algunos inputs, algunos select y algunos textarea, pero no todos ellos son obligatorios. Cuando le doy al boton aceptar que tengo al final de pagina debo validar el formulario y asegurar que los campos obligatorios estén rellenos. Pongo un ejemplo para que se pueda entender mejor:

Nombre* --- <input type="text" ....>
Descripcion --- <textarea ... >
Notacion * --- <textarea ... >
.
.
.

<boton aceptar>

Nota: los campos marcados con * son obligatorios.

Muchas gracias por adelantado.
  #2 (permalink)  
Antiguo 14/01/2010, 11:25
Avatar de JuanSe001  
Fecha de Ingreso: diciembre-2009
Mensajes: 46
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Validar formulario dinamico (solo algunos campos)

Este es un ejemplo de un validador en JavaScript que funciona muy bien...

El cual lo que hace es validar el formulario de un Promotor o Socio.



Código:
function validateFieldsPromoters()	  
{	 
	f = document.formPromoter;
			    
	if(!f.campoNombre.value)
	{
		alert("Por Favor Inserte su(s) Nombre(s) y Apellido(s).");
		f.campoNombre.focus();
		return false;
	}	
	if(!f.campoTelefono.value)
	{
    	alert("Por Favor Inserte su Numero Telefonico");
		f.campoTelefono.focus();
		return false;
	}
	if(!f.campoTipoEvento.value)
	{
    	alert("Por Favor Inserte su el Tipo  de Evento. Ejemplo Concierto, Teatro, Deportivo, etc.");
		f.campoTipoEvento.focus();
		return false;
	}
	if(!f.campoDescripcion.value)
	{
    	alert("Por favor Inserte una Breve Descripcion del Evento");
		f.campoDescripcion.focus();
		return false;
	}   
				
	f.submit();
}
Detallalo y si tienes alguna duda me dices!!

JuanSe001
  #3 (permalink)  
Antiguo 14/01/2010, 12:07
 
Fecha de Ingreso: enero-2010
Mensajes: 3
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Validar formulario dinamico (solo algunos campos)

Gracias por tu respuesta JuanSe001, pero no es eso a lo que me refería..
Verás, yo de antemano no se cuáles van a ser los elementos del formulario, por lo tanto los recojo de esta manera:

function validarFormularios()
{
for(i=0; i<document.generaform.elements.length;i++)
{
if(document.generaform.elements[i].-- <poner de alguna manera si es o no obligatorio..>)
alert("elemento obligatorio");
}
}

No se si me he explicado bien..
  #4 (permalink)  
Antiguo 14/01/2010, 12:10
Avatar de cocu3  
Fecha de Ingreso: diciembre-2007
Mensajes: 235
Antigüedad: 16 años, 4 meses
Puntos: 6
Respuesta: Validar formulario dinamico (solo algunos campos)

proba asi el html:

Código HTML:
Nombre: <input type="text" id="nombre">
Notacion: <textarea id="notacion" row="20" col="20"/>
.
.
.

<input type="submit" onClick="validar;" value="aceptar"/> 
y en el javascript:

Código:
function validar(){
  if(!document.getElementsByTagName('nombre'))
    document.getElementsByTagName('nombre').focus();
... lo mismo para el otro campo y luego lo envias al servidor
}
__________________
editor de fotos
  #5 (permalink)  
Antiguo 14/01/2010, 14:09
Avatar de Tecna  
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 3 meses
Puntos: 45
Respuesta: Validar formulario dinamico (solo algunos campos)

Buenas,

para que un campo de un formulario sea obligatorio hay que añadir a dicho elemento el atributo required
  #6 (permalink)  
Antiguo 15/01/2010, 04:44
 
Fecha de Ingreso: enero-2010
Mensajes: 3
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Validar formulario dinamico (solo algunos campos)

Buenas,

el atributo required no me lo reconoce dentro del <input ...>, supongo k no será ahi donde tengo k ponerlo.
Intento explicar mejor mi problema con un ejemplo:

En html:

Nombre* --- <input type="text" name="<%= valor[i]%>"....>
Descripcion --- <textarea name="<%= valor[i]%>"... >
Notacion * --- <textarea name="<%= valor[i]%>"... >
.
.
.

<input type="submit" onClick="validar()" value="aceptar"/>

//La variable valor tiene el nombre k asigna a cada input, textarea, select...
//Esto se va generando de manera dinamica con un jsp

En javascript:

function validar()
{
for(i=0; i<document.generaform.elements.length;i++)
{
if(document.generaform.elements[i].-- <poner de alguna manera si es o no obligatorio..>)
alert("El campo" +document.generaform.elements[i].name+"es obligatorio");
}
}

Etiquetas: campos, dinamico, formulario
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 13:44.