Foros del Web » Programando para Internet » Javascript »

Validar un test

Estas en el tema de Validar un test en el foro de Javascript en Foros del Web. Validar un Test: He hecho un test a través de un formulario con 10 preguntas que a su vez tienen 3 respuestas del tipo "radio". ...
  #1 (permalink)  
Antiguo 11/03/2007, 05:50
Avatar de Masterkhan  
Fecha de Ingreso: septiembre-2006
Ubicación: En mi casa
Mensajes: 64
Antigüedad: 17 años, 7 meses
Puntos: 0
Pregunta Validar un test

Validar un Test:

He hecho un test a través de un formulario con 10 preguntas que a su vez tienen 3 respuestas del tipo "radio". Al final hay un botón del tipo "submit" que envía las respuestas a una página php que las procesa. Lo que yo quiero es que ,si no están contestadas todas las preguntas, lance un aviso del tipo "alert" e impida que se dirija a la página php (evitando la aparición de errores de procesamiento de respuestas).


Gracias por su atención

Última edición por Masterkhan; 11/03/2007 a las 13:37
  #2 (permalink)  
Antiguo 11/03/2007, 16:03
Avatar de keldrox  
Fecha de Ingreso: noviembre-2005
Mensajes: 95
Antigüedad: 18 años, 5 meses
Puntos: 2
Re: Validar un test

Es "facil", recorre tu formulario mediante javascript y si todos los campos tienen value entonces se envia y si alguno devuelve un value en null o false no envias el formulario. Se envia con .onSubmit();

Pero si quieres algo facil y rapido utilza este sript:

http://www.javascript-coder.com/html...lidation.phtml


Suerte!


PD: si mañana sigues con problemas te hago un scritp, que ahora toy liado >.<!
  #3 (permalink)  
Antiguo 11/03/2007, 16:50
Avatar de Masterkhan  
Fecha de Ingreso: septiembre-2006
Ubicación: En mi casa
Mensajes: 64
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Validar un test

Probe el enlace que me dijiste sin embargo no me funciona... La verdad es que soy bastante principiante en javascript y aunque entendí un poco el método no me funcionó, ya que el action de mi formulario es a otra página no a sí misma....

Bueno si sigue en pie lo de ese script estaría muy agradecido

Gracias de antemano.

Última edición por Masterkhan; 11/03/2007 a las 17:33
  #4 (permalink)  
Antiguo 12/03/2007, 09:34
Avatar de keldrox  
Fecha de Ingreso: noviembre-2005
Mensajes: 95
Antigüedad: 18 años, 5 meses
Puntos: 2
Re: Validar un test

Aqui tienes el codigo HTML (fijate bien en la cabecera que incluye a la function en JS:
Código:
<html>
	<head>
		<script language="javascript" src="validar.js"></script>
	</head>

	<body>
	
		<form name="formulario_validar" method="post" action="tupagina.php">
		
			¿Pregunta numero 1? <br />
			<label>
			<input name="preg1" type="radio" value="1" />
			Opcion 1</label><br />
			<label>
			<input name="preg1" type="radio" value="2" />
			Opcion 2</label><br />
			<label>
			<input name="preg1" type="radio" value="3" />
			Opcion 3</label><br /><br />
		
			¿Pregunta numero 2? <br />
			<label>
			<input name="preg2" type="radio" value="1" />
			Opcion 1</label><br />
			<label>
			<input name="preg2" type="radio" value="2" />
			Opcion 2</label><br />
			<label>
			<input name="preg2" type="radio" value="3" />
			Opcion 3</label><br /><br />
			
			¿Pregunta numero 3? <br />
			<label>
			<input name="preg3" type="radio" value="1" />
			Opcion 1</label><br />
			<label>
			<input name="preg3" type="radio" value="2" />
			Opcion 2</label><br />
			<label>
			<input name="preg3" type="radio" value="3" />
			Opcion 3</label><br /><br /><br />
		
			<input type="button" onclick="validar_form('formulario_validar')" value="Enviar formulario" />
			
		</form>
	
	</body>
	
</html>

Y aqui la function en JS: (Guardalo en un fichero como validar.js)
Código:
function validar_form( nombreForm )
{
	///////////////
	// Variables //
	///////////////
	var cont;
	var cont2;
	var nombreGrupo;
	var validarCheck;


	for ( cont = 0 ; cont < document.forms[nombreForm].elements.length ; ++cont )
	{
		if( document.forms[nombreForm].elements[cont].type == "radio" )
		{
			nombreGrupo = document.forms[nombreForm].elements[document.forms[nombreForm].elements[cont].name];
			
			validarCheck = false;
			
			for( cont2 = 0; cont2 < nombreGrupo.length; ++cont2 )
			{
				if ( nombreGrupo[cont2].checked )
				{	
					validarCheck = true;
					
					break;
				}
			}
			
			if( !validarCheck )
			{
				break;
			}
		}
	}
	
	if( validarCheck )
	{
		alert("Se han respondido todas las preguntas, el formulario se enviara.");

		document.forms[nombreForm].submit();
	}
	else
	{
		alert("Debes contestar todas las preguntas.");
		return false;
	}
}
Puedes crear un formulario con tantas preguntas y radioButtons quieras que la function te valdra.

Saludos!
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 07:17.