Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2010, 09:13
jomiferdo
 
Fecha de Ingreso: abril-2010
Ubicación: Valencia
Mensajes: 11
Antigüedad: 14 años
Puntos: 0
validacion de un radiobutton emergente (oculto)

Hola, a ver si me explico, tengo un formulario con 4 preguntas basicas, pero en la tercera de ellas, dependiendo de la seleccion, puede abrirse otra pregunta.
Para validar las primeras, no hay problema, pero no se como validar la emergente, y como no hay nada mejor que un ejemplo, he aqui comentado.


<HTML>
<HEAD>
<TITLE>H.D. Imagenio </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT=",">
<META NAME="Description" CONTENT="">

<SCRIPT LANGUAGE="JavaScript">
//<!-- funcion que recorre los radius mediante el name + indice para su validacion -->

function validar(f)
{
var registros=f.reg.value;
for(var q=1;q<=registros;q++)
{
if(!VBR(f,q)) {return false;}
}
return true;
}

function VBR(f,q)
{
var x=f["test"+q].length;
for(var w=0;w<x;w++)
{
if(f["test"+q][w].checked) {return true;}
}
alert("Por favor, conteste a la cuestion numero "+q);
return false;
}

//<!-- Fin de la funcion que recorre los radius mediante el name + indice para su validacion-->


//<!-- Funcion para ver o no ver el emergente -->


function quitar(n) {
document.getElementById(n).style.display='none';
}

function ver(n) {
document.getElementById(n).style.display='block';
}
//<!--Fin Funcion para ver o no ver el emergente -->
</script>
<!-- Fin de los script. -->
</HEAD>

<!-- Cabecera de la pagina -->
<BODY background="fondo.gif">
<TABLE WIDTH="100%">
<TR>
<TD WIDTH="20%" HEIGHT="100"><A HREF="http://www.movistar.es/" target="new"><IMG SRC="logo.gif" WIDTH="100" HEIGHT="100" BORDER="0" title="" ALIGN="TOP"></A></TD>
<TD WIDTH="60%" HEIGHT="100" ><CENTER><IMG SRC="hdimage.gif" WIDTH="432" HEIGHT="100" BORDER="0" ALT=""></CENTER></TD>
<TD WIDTH="20%" HEIGHT="100"><A HREF="http://csd-valencia.telefonica" target="new"><IMG SRC="ctv.gif" WIDTH="100" HEIGHT="80" BORDER="0" title=""="" ALIGN="center"></A></TD>
</TR>
</TABLE>

<!-- Comienza el formulario -->
<form id="imaform" method="post" onsubmit="return validar(this);" action="">



<FIELDSET STYLE="width: 97%; border-color: lime"><LEGEND STYLE="color: #FF0000; font-weight: bold">1.- Televisor</LEGEND>
¿Ten&iacute;a el cliente un televisor compatible con alta definici&oacute;n?<BR>
<input type="radio" id="TV" name="test1" value="Si"> Si&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" id="TV" name="test1" value="No"> No<br>
</FIELDSET>


<FIELDSET STYLE="width: 97%; border-color: lime"><LEGEND STYLE="color: #FF0000; font-weight: bold">2.- Conexi&oacute;n</LEGEND>
¿C&oacute;mo conect&oacute; el descodificador al televisor?<BR>
<input type="radio" id="CB" name="test2" value="A través de HDMI"> A trav&eacute;s de HDMI&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" id="CB" name="test2" value="A través deEuroconector"> A trav&eacute;s de Euroconector&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" id="CB" name="test2" value="Con ambos cables"> Con ambos cables
</FIELDSET>


<FIELDSET STYLE="width: 97%; border-color: lime"><LEGEND STYLE="color: #FF0000; font-weight: bold">3.- Modo de Video</LEGEND>
¿Qu&eacute; modo de video qued&oacute; seleccionado en el descodificador?<BR>
<input type="radio" id="DV" name="test3" onclick="quitar('hdmi');" value="1080i"> 1080i&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" id="DV" name="test3" onclick="quitar('hdmi');" value="720p"> 720p&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" id="DV" name="test3" onclick="quitar('hdmi');" value="HDMI+Euroconector"> HDMI+Euroconector
<input type="radio" id="DV" name="test3" onclick="ver('hdmi');" value="Euroconector"> Euroconector (este es el problema, al seleccionar este, sale el emergente) </FIELDSET>

<div id="hdmi" style="display:none">
<!-- Emergente si selecciona euroconector -->
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FIELDSET STYLE="width: 94%; border-color: lime"><LEGEND STYLE="color: #FF0000; font-weight: bold">3.1- HDMI</LEGEND>
En caso de que lo haya conectado por Euroconector, ¿dej&oacute; al cliente el cable HDMI por si lo necesita en adelante?<BR>
<input type="radio" id="CE" name="1test" value="Si"> Si&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" id="CE" name="1test" value="No"> No&nbsp;&nbsp;&nbsp;&nbsp;
<!-- Fin Emergente si selecciona euroconector -->
</FIELDSET> este seria el que habria que validar, pero solo si se marca euroconector en el anterior.
</div>

<FIELDSET STYLE="width: 97%; border-color: lime"><LEGEND STYLE="color: #FF0000; font-weight: bold">4.-Diferencia de Calidad</LEGEND>
¿Ha percibido el cliente diferencia entre los canales HD y SD mostrandole los caneles 100 y 106?<BR>

<input type="radio" id="DIF" name="test4" value="1"> Si&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" id="DIF" name="test4" value="2"> No
</FIELDSET>
<div>
<label for="notas">
<span style="color:#c00;">*</span>Observaciones
</label><BR>
<textarea name="notas" id="notes" rows="3" cols="70" onkeyup="val=this.value; if (val.length > 128) { alert('Lo siento, has sobrepasado el limite de 128 caracteres'); this.value = val.substring(0,128); } this.form.count.value=128-parseInt(this.value.length); ">Comentarios</textarea>
</div>
<!-- Comprobamos los caracteres escritos -->
<div>
<label for="count">Caracteres disponibles:</label>
<input type="text" name="count" id="counter" value="128" size="2" />
<?php $text_len = preg_match_all('/./', $str, $dummy); ?>
</div>

<!-- Comprobamos los caracteres escritos -->
<!-- Indicamos el numero de registros que debe recorrer el script de validacion de radiobutons -->
<input type=hidden name=reg value="4">
<!-- Fin de la indicacion del numero de registros que debe recorrer el script de validacion de radiobutons -->
<!-- Boton de enviar -->
<input type="submit" id="mando" name="send" onclick="" value="Enviar &raquo;" title="Pulsa una vez para enviar el formulario." ">
<!-- Boton de limpiar formulario -->
<input type="reset" value="Borrar Formulario" name="Borra" onclick="quitar('hdmi');">
</FORM>
<!-- Fin del Formulario -->
</FORM>
</BODY>
</HTML>


Espero vuestras propuestas.

Saludos.