Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/06/2008, 11:55
Avatar de merolhack
merolhack
 
Fecha de Ingreso: junio-2006
Ubicación: México
Mensajes: 1.242
Antigüedad: 18 años, 7 meses
Puntos: 16
Validación de múltiples RADIO

Hola, tengo el siguiente formulario (es de preguntas), pero quisiera saber cómo puedo validar que una pregunta haya sido respondida....
Código:
<form action="resultado_encuesta.php" name="encuesta" id="encuesta" method="POST" onSubmit="javascript:return valida();">
				<input type="hidden" name="id_encuesta" value="1">
				<table class="encuesta">

				<tr>
				        <td class='pregunta'>
				        	<p>1 .- &iquest;Cu&aacute;l es la misi&oacute;n del ILCE?</p>
				        </td>
				    </tr><tr>
				        <td class='respuestas'>
				        <table><tr>

				                <td class="item_respuesta">
				                	<p><input type="radio" id="pregunta[1]" name="pregunta[1]" value="1">&nbsp;A)&nbsp;&nbsp;Ser lideres internacionales en el desarrollo y operaci&oacute;n de soluciones de educativas mediante la aplicaci&oacute;n de TIC, la implantaci&oacute;n de practicas de trabajo de calase mundial y personal da alto desempe&ntilde;o.</p></td>
				            </tr><tr>
				                <td class="item_respuesta">
				                	<p><input type="radio" id="pregunta[1]" name="pregunta[1]" value="2">&nbsp;B)&nbsp;&nbsp;Proporcionar soluciones educativas con calidad que satisfagan a nuestros grupos de inter&eacute;s, institucionalizando nuestras estrategias y procesos, en apego a la norma internacional de calidad ISO 9001:2000; asegurando el mejoramiento continuo y el desarrollo de nuestro personal.</p></td>

				            </tr><tr>
				                <td class="item_respuesta">
				                	<p><input type="radio" id="pregunta[1]" name="pregunta[1]" value="3">&nbsp;C)&nbsp;&nbsp;Somos un organismo internacional dedicado a la investigaci&oacute;n desarrollo y producci&oacute;n de materiales y modelos educativos a trav&eacute;s de la aplicaci&oacute;n de TIC para satisfacer los requerimientos en educaci&oacute;n, capacitaci&oacute;n y formaci&oacute;n de instituciones y sociedades latinoamericanas.</p></td>
				            </tr></table></td>

				    	</tr><tr>
				        <td class='pregunta'>
				        	<p>2 .- &iquest;Cu&aacute;l es la Visi&oacute;n del ILCE?</p>
				        </td>
				    </tr><tr>
				        <td class='respuestas'>
				        <table><tr>

				                <td class="item_respuesta">
				                	<p><input type="radio" id="pregunta[2]" name="pregunta[2]" value="1">&nbsp;A)&nbsp;&nbsp;Somos un organismo internacional dedicado a la investigaci&oacute;n desarrollo y producci&oacute;n de materiales y modelos educativos a trav&eacute;s de la aplicaci&oacute;n de TIC para satisfacer los requerimientos en educaci&oacute;n, capacitaci&oacute;n y formaci&oacute;n de instituciones y sociedades latinoamericanas.</p></td>
				            </tr><tr>
				                <td class="item_respuesta">

				                	<p><input type="radio" id="pregunta[2]" name="pregunta[2]" value="2">&nbsp;B)&nbsp;&nbsp;Ser lideres internacionales en el desarrollo y operaci&oacute;n de soluciones de educativas mediante la aplicaci&oacute;n de TIC, la implantaci&oacute;n de practicas de trabajo de calase mundial y personal da alto desempe&ntilde;o.</p></td>
				            </tr><tr>
				                <td class="item_respuesta">
				                	<p><input type="radio" id="pregunta[2]" name="pregunta[2]" value="3">&nbsp;C)&nbsp;&nbsp;Proporcionar soluciones educativas con calidad que satisfagan a nuestros grupos de inter&eacute;s, institucionalizando nuestras estrategias y procesos, en apego a la norma internacional de calidad ISO 9001:2000; asegurando el mejoramiento continuo y el desarrollo de nuestro personal.</p></td>

				            </tr></table></td>
				    	</tr>				</table>
				<input type="submit" value="Enviar resultados">
			</form>
Mi Javascript sólo valida que esté hecha la primera opción:
Código:
function trim(s) {
   return rtrim(ltrim(s));
}

function valida(){

	
var name="";
var nombresCampos = new Array();
var num=1;
var nombrecampo="";
var error=0;
var numerodecampos=0;

for (i=1;i<document.encuesta.length;i++){
	if (document.encuesta.elements[i].name != name){
		name=document.encuesta.elements[i].name;
		if (name !== undefined && name != ""){ 
			nombresCampos[num]=name;
			num=num+1;
		}
	}
}
for(j=1;j<nombresCampos.length;j++){
	nombrecampo=trim(nombresCampos[j]);
	numerodecampos=document.getElementsByName(nombrecampo).length;
	for( x=0;x<numerodecampos;x++) {
		if (!document.getElementById(nombrecampo).checked){
			error++;
		}
	}
	if ( error >= '2' ) {
		alert('Responda la pregunta: '+j);
		return false;
	}
	error = 0;
}
}
Saludos!!