Foros del Web » Programando para Internet » Javascript »

problemas on el evento onChange de un radioboton

Estas en el tema de problemas on el evento onChange de un radioboton en el foro de Javascript en Foros del Web. hola a todos. mi priblema es el siguiente: tengo un formulario donde hago una pregunta, si es o no dependiente economico y con un radio ...
  #1 (permalink)  
Antiguo 01/05/2008, 12:12
 
Fecha de Ingreso: marzo-2008
Mensajes: 173
Antigüedad: 16 años, 8 meses
Puntos: 0
problemas on el evento onChange de un radioboton

hola a todos. mi priblema es el siguiente: tengo un formulario donde hago una pregunta, si es o no dependiente economico y con un radio boton si es si, muestro unos campos, si es no muestro otros (de estudiante o de trabajador), puse unas funciones en javascript para que oculte y muestre pero no funcionan correctamente, mas bien creo que no las IMPLEMENTO yo correctamente por que, por defecto le puse que aparesca en si y si le doy no deberia mostrarse otra cosas, pero no cambia, hasta que el doy de nuevo en si es cuendo cambia. alguien sabe donde esta mir error? ver ejemplo

aqui les dejo el codigo(disculpen pero es mucho):

Código HTML:
<table>

		<tr>
			<td align="right">&iquest;Eres dependiente economico?</td>
			<td align="left" >
				<input name="rbn_es_dependiente" type="radio" value="s" <?php if($_SESSION["rbn_es_depe"]=="s") echo " checked"; ?>
				onChange="mostrar_ocultar('tabla_a1'); mostrar_ocultar('tabla_a2');
						  mostrar_ocultar('tabla_b1'); mostrar_ocultar('tabla_b2');" checked="checked">
				Si
				<input name="rbn_es_dependiente" type="radio" value="n" <?php if($_SESSION["rbn_es_depe"]=="n") echo " checked"; ?>
				onChange="mostrar_ocultar('tabla_a1'); mostrar_ocultar('tabla_a2');
						  mostrar_ocultar('tabla_b1'); mostrar_ocultar('tabla_b2');">
				No
			</td>
		</tr>
		
		<tr>
			<td align="right">&nbsp;</td>
			<td align="left" >&nbsp;</td>
		</tr>
		
		<tr>
			<td align="right" valign="top">
				<table id="tabla_a1"
				<?php 
					if($_SESSION["xxxxx1"]=true)
						echo " style='display:block'";
					else
						echo " style='display:none'"
				?>
				class="Texto" border="0">
				<tr><td>
					En caso de ser estudiante:
				</td></tr></table>
			</td>
			<td align="left" >
				<table id="tabla_a2" 
				<?php 
					if($_SESSION["xxxxx1"]==true)
						echo " style='display:block'";
					else
						echo " style='display:none'"
				?>
				class="Texto" border="0">
				<tr><td>
					<input name="ckb_estudiante" type="checkbox" onClick="mostrar_ocultar('div_estudiante')"
					 value="es_estudiante" <?php if($_SESSION["ckb_estudia"]==true)echo " checked"; ?>> 
					Si soy estudiante<br>
					
					<table id="div_estudiante" 
					<?php 
						if($_SESSION["ckb_estudia"]==true)
							echo " style='display:block'";
						else
							echo " style='display:none'"
					?>
					class="Texto" border="0">
					<tr>
					<td>
					<br>
					
					Nombre de la escuela donde estudia<br>
					<input name="txt_escuel" type="text" id="txt_escuel" size="38" maxlength="65" 
					onKeyPress="valida_letras_y_numeros(true)" value="<?php echo $_SESSION["txt_escuela"]; ?>">
					<br><br>
					
					Nivel o grado<br>
					<input name="txt_nivel" type="text" id="txt_nivel" size="38" maxlength="10" onKeyPress="valida_letras_y_numeros(true)"
					value="<?php echo $_SESSION["txt_nivel_e"]; ?>">
					<br><br>
	
					Especialidad<br>
					<input name="txt_especi" type="text" id="txt_especi" size="38" maxlength="65" 
					onKeyPress="valida_letras_y_numeros(true)" value="<?php echo $_SESSION["txt_especia"]; ?>">
					<br><br>
					
					Promedio escolar<br>
					<input name="txt_pormedio" type="text" id="txt_pormedio" size="38" maxlength="3" onKeyPress="valida_numeros()"
					value="<?php echo $_SESSION["txt_pormedi"]; ?>">
					<br><br>
					</font>

					</td>
					</tr>
					</table>
				</td></tr></table>
			</td>
		</tr>
		
		<tr>
			<td align="right" valign="top">
				<table id="tabla_b1"
				<?php 
					if($_SESSION["xxxxx2"]==true)
						echo " style='display:block'";
					else
						echo " style='display:none'"
				?>
				class="Texto" border="0">
				<tr><td>
					En caso de ser trabajador:
				</td></tr></table>
			</td>
			<td align="left" >
				<table id="tabla_b2" 
				<?php 
					if($_SESSION["xxxxx2"]==true)
						echo " style='display:block'";
					else
						echo " style='display:none'"
				?>
				class="Texto" border="0">
				<tr><td>
					<input name="ckb_trabajador" type="checkbox" value="es_trabajador" onClick="mostrar_ocultar('div_trabajador')" 
					 <?php if($_SESSION["ckb_trabaja"]==true)echo " checked"; ?>> Si soy trabajador<br>
					
					
					<table id="div_trabajador"
					<?php 
						if($_SESSION["ckb_trabaja"]==true)
							echo " style='display:block'";
						else
							echo " style='display:none'"
					?>
					 class="Texto" border="0">
					<tr>
					<td>
					<br>
					
					Nombre del centro de trabajo<br>
					<input name="txt_centro" type="text" id="txt_centro" size="38" maxlength="65" 
					onKeyPress="valida_letras_y_numeros(true)" value="<?php echo $_SESSION["txt_centroT"]; ?>">
					<br><br>
					
					&iquest;Es jubilado o pensionado?<br>
					<input name="rbn_es_jubilado" type="radio" value="s" <?php if($_SESSION["rbn_es_jubi"]=="s") echo " checked"; ?>>
					Si
					<input name="rbn_es_jubilado" type="radio" value="n" <?php if($_SESSION["rbn_es_jubi"]=="n") echo " checked"; ?>>
					No<br><br>
	
					Telefono<br>
					<table border="0">
						<tr>
							<td>
								<font class="InfoDato">Telefono</font><br>
								<input name="txt_tel_tra" type="text" id="txt_tel_tra" size="20" maxlength="10" 
								onKeyPress="valida_numeros()" value="<?php echo substr($_SESSION["txt_tel_tra"],0,10); ?>">
							</td>
							<td>
								<font class="InfoDato">Extensi&oacute;n</font><br>
								<input name="txt_tel_o_ex" type="text" id="txt_tel_o_ex" size="5" maxlength="5" 
								onKeyPress="valida_numeros()" value="<?php echo substr($_SESSION["txt_tel_tra"],10,5); ?>">
							</td>
						</tr>
					</table>
					</td>
					</tr>
					</table>
				</td></tr></table>
			</td>
		</tr>

</table> 


aqui esta la funcion de javascript que se encuentra en el archivo herramientas.js

Código:
	function mostrar_ocultar(idCapa)
	{
		if (document.getElementById(idCapa).style.display == "block")
		{
			document.getElementById(idCapa).style.display='none';
		}
		else
		{
			document.getElementById(idCapa).style.display='block';
		}
	}
de antemano gracias por sus respuestas

nota. no es un post repetido.
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 18:40.