tengo un problema con un formulario web. Quiero que cuando el usuario escoja una opción de la primera pestaña, se active (o no) las restantes.
La solución la he encontrado, pero mi nuevo problema es que el nombre del select es dinámico, es decir no es siempre “SEL1, SEL2,...” sino que va cambiando.
Para que se entienda les copio el código que he conseguido hacer funcionar:
Javascript:
Código Javascript:
Ver original
function mostrar_tabac(){ if (document.frm.SEL1.value == "1") { document.frm.SEL2.disabled = true; document.frm.SEL3.disabled = true; } else if (document.frm.SEL1.value == "2") { document.frm.SEL2.disabled = true; document.frm.SEL3.disabled = false; } else if (document.frm.SEL1.value == "3") { document.frm.SEL2.disabled = false; document.frm.SEL3.disabled = false; } }
PHP:
Código PHP:
<table cellpadding="0" cellspacing="0">
<thead>
<tr>
<th class="aspecte">Estado</th>
<th class="aspecte">Tipo de<br>tabaco</td>
<th class="aspecte">Dosis/día</td>
</tr>
</thead>
<tbody>
<form name='frm'>
<tr>
<td class="aspecte">
<select name="SEL1" id="SEL1" size="1" onChange="mostrar_tabac();">
<option><pre></pre></option>
<option value="1">No ha fumado nunca</option>
<option value="2">Exfumador desde (indicar tiempo en 'dosis/día')</option>
<option value="3">Fumador</option>
</select>
</td>
<td class="aspecte">
<select name="SEL2" id="SEL2" size="1" disabled>
<option><pre></pre></option>
<option>Cigarrillos</option>
<option>Puros</option>
<option>Pipa</option>
</select>
</td>
<td class="aspecte"><INPUT name="SEL3" id="SEL3" type="text" disabled></td>
</tr>
</form>
</body>
</table>
Código PHP:
"insert_tabac_estado_".$i;
"insert_tabac_tipo_".$i;
"insert_tabac_dosis_".$i;
He intentado pasar las variables dentro de la función de Javascript haciendo:
Código PHP:
$sel1 = "insert_tabac_estado_".$i;
$sel2 = "insert_tabac_tipo_".$i;
$sel3 = "insert_tabac_dosis_".$i;
...
...
<select name="<?php echo $sel1 ?>" id="<?php echo $sel1 ?>" size="1" onChange="mostrar_tabac(‘<?php echo $sel1 ?>’, ‘(‘<?php echo $sel2 ?>’, ‘(‘<?php echo $sel3 ?>’);
Código Javascript:
Ver original
function mostrar_tabac(sel_tab1, sel_tab2, sel_tab3){ if (document.frm.sel_tab1.value == "1") { document.frm.sel_tab2.disabled = true; document.frm.sel_tab3.disabled = true; } else if (document.frm.sel_tab1.value == "2") { document.frm.sel_tab2.disabled = true; document.frm.sel_tab3.disabled = false; } else if (document.frm.sel_tab1.value == "3") { document.frm.sel_tab2.disabled = false; document.frm.sel_tab3.disabled = false; } }
Pero nada,… alguna idea?
Muchas gracias!!