Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/12/2008, 04:45
Avatar de Hayi
Hayi
 
Fecha de Ingreso: febrero-2002
Ubicación: Santa Fe - Santa Fe
Mensajes: 121
Antigüedad: 22 años, 3 meses
Puntos: 3
De acuerdo Respuesta: Problema al "combinar" distintos Habilitar y Deshabilitar

Hola de nuevo. David el Grande, gracias por responderme. Paso a explicar un poco, ya que investigando este fin de semana de lluvia que pasé, pude lograr lo que estaba necesitando.

Primero que nada, tengo que aclarar un pequeño error de tipeo en el 2do ejemplo: dónde dice "formulario=parametro.formBuscar;", hay que cambiarlo por "formulario=parametro.form;" (y por supuesto, lo que dice "seleccion2 = 2" no tiene efecto alguno...).

Bueno, no funcionaban al combinarlos porque lo hacía de forma incorrecta, pero les dejo aquí lo que logré: elegir entre 2 métodos de búsqueda a través de Radio Buttons que me habilitan, cada uno por separado, 2 "sub-opciones" de la misma búsqueda y que a su vez, habilitan tanto el campo Texto para ingresar dicha búsqueda y su botón correspondiente. También le agregué que si elijo una opción y después me arrepiento cambiando a la otra, "resetee" los Radio Buttons para empezar de nuevo... Espero que le sirva a alguno... Saludos y David el Grande, gracias nuevamente por la molestia de contestarme...

Cita:
<HTML>
<HEAD>
<SCRIPT TYPE="text/javascript">
function habilitarRB1(parametro) {
var r1 = document.getElementsByName('radio1');
var r2 = document.getElementsByName('radio2');
formulario=parametro.form;
i=0;
j=0;
if (formulario.radio0[0].checked) {
r2[0].checked = false;
r2[0].checked = false;
formulario.radio2[0].disabled = true;
formulario.radio2[1].disabled = true;
formulario.texto1.disabled = true;
formulario.boton1.disabled = true;
for (i<2; cadena=formulario.radio1[i]; i++)
cadena.disabled = !parametro.checked;
}
else {
r1[0].checked = false;
r1[1].checked = false;
formulario.radio1[0].disabled = true;
formulario.radio1[1].disabled = true;
formulario.texto0.disabled = true;
formulario.boton0.disabled = true;
for (j<2; cadena=formulario.radio2[j]; j++)
cadena.disabled = !parametro.checked;
}
}
function habilitarRB2(form) {
if (formulario.radio0[0].checked) {
form.texto0.disabled = false;
form.boton0.disabled = false;
}
else {
form.texto1.disabled = false;
form.boton1.disabled = false;
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="formBuscar" METHOD="post" ACTION="buscar.php" AUTOCOMPLETE="off">
<INPUT TYPE="radio" NAME="radio0" onClick="habilitarRB1(this)">Buscar Por NOMBRE<BR><BR>
<INPUT TYPE="radio" NAME="radio1" VALUE="0" DISABLED="disabled" onClick="habilitarRB2(this.form)">Exacto
<INPUT TYPE="radio" NAME="radio1" VALUE="1" DISABLED="disabled" onClick="habilitarRB2(this.form)">Comienza con...<BR><BR>
<INPUT TYPE="text" NAME="texto0" WIDTH="100" DISABLED="disabled">
<INPUT TYPE="submit" NAME="boton0" VALUE="Buscar" DISABLED="disabled">
<BR><HR WIDTH="50%" COLOR="#000000" ALIGN="left">
<INPUT TYPE="radio" NAME="radio0" onClick="habilitarRB1(this)">Buscar Por APELLIDO<BR><BR>
<INPUT TYPE="radio" NAME="radio2" VALUE="0" DISABLED="disabled" onClick="habilitarRB2(this.form)">Exacto
<INPUT TYPE="radio" NAME="radio2" VALUE="1" DISABLED="disabled" onClick="habilitarRB2(this.form)">Comienza con...
<INPUT TYPE="text" NAME="texto1" WIDTH="100" DISABLED="disabled">
<INPUT TYPE="submit" NAME="boton1" VALUE="Buscar" DISABLED="disabled">
</FORM>
</BODY>
</HTML>
PD: el problema está resuelto, así que si quieren, este post se puede cerrar, saludos y gracias de nuevo!