Hola, quiero obligatoriamente se seleccione una opción "input radio" en cada pregunta
y ademas que rellene los cajones de texto, los input text funcionan bien y el de radio no consigo sumar los que ha seleccionado:
Cita: <script language="JavaScript">
//funcion que es llamada en el evento submit del formulario
function validar(){
//obtener el formulario para utilizarlo en la validacion
var frmFormulario=document.forms['test'];
//contar la cantidad de elementos que contiene el formulario
var iElementos=frmFormulario.elements.length;
//recorrer todos los elementos del formulario
for(var iCont=0;iCont<iElementos;iCont++){
//obtener el elemento actual para utilizarlo
var textos=frmFormulario.elements[iCont];
if(textos.type=='text' || textos.type=='radio'){
var num=0;
if (
trim(textos.value)=='Escriba la pregunta'
|| trim(textos.value)==''
|| trim(textos.value)=='Respuesta a'
|| trim(textos.value)=='Respuesta b'
|| trim(textos.value)=='Respuesta c'
|| trim(textos.value)=='Escriba una explicación'
){
//mostramos un mensaje al usuario
alert('Por favor, complete todos los campos del formulario.');
//enfocamos el campo que exta vacio
textos.focus();
//borramos el contenido del campo (podria contener espacios en blanco)
textos.value='';
//devolvemos false para que el formulario no sea procesado
return false;
}
else if ((textos.checked)){
var num = num+1;
if(num<3) {
alert('no selecciono 3 campos radio boton');
return false;
}}}}
if(!confirm('¿Desea almacenar los datos?')){
//el usuario indica que no desea almacenar los datos
//entonces devolvemos false para que el formulario no sea procesado
return false;
}
}
//funcion para eliminar los espacios al inicio y final de cualquier cadena
//en otros lenguajes se conoce como "trim", JavaScript no cuenta con ella
function trim(strTexto){
//eliminamos los espacios iniciales y finales, con expresiones regulares
return strTexto.replace(/^\s+/g,'').replace(/\s+$/g,'');
}
</script>
La parte que puse en rojo es la que no logro que funcione como yo quiero.
A ver si me podeis ayudar un poco, saludos.