Foros del Web » Programando para Internet » Javascript »

Deshabilitar menus desplegables segun una condición de option buttons

Estas en el tema de Deshabilitar menus desplegables segun una condición de option buttons en el foro de Javascript en Foros del Web. Hola por favor, necesito con urgencia que me ayuden aclarar estas dudas, no sé si pertenecen al foro de pHP ó de HTML, disculpen si ...
  #1 (permalink)  
Antiguo 29/12/2003, 09:12
 
Fecha de Ingreso: diciembre-2003
Mensajes: 212
Antigüedad: 20 años, 4 meses
Puntos: 0
Pregunta Deshabilitar menus desplegables segun una condición de option buttons

Hola por favor, necesito con urgencia que me ayuden aclarar estas dudas, no sé si pertenecen al foro de pHP ó de HTML,
disculpen si no las coloque en el lugar correcto.
Las dudas son las siguientes:

1) Tengo un formulario llamado "busq_conf_cons" en dde aparecen 4 option buttons llamados:
modelo, marca, consumible y color, cada uno con un menu desplegable al lado, ¿como hacer para q cuando el usuario
seleccione una opcion(por ejemplo modelo) se deshabiliten los otros menus
desplegables?, dado q no es correcto q él marque modelo y pueda marcar un color
por ejemplo, tiene que ser uno de ellos.

En este caso sé q se debe preguntar por la variable name="busq_consum" q es de
los option buttons, y si su value="modelo_imp", entoces q deshablitite los otros menus desplegables.
La propiedad para deshabilitar un menu desplegable es disabled:
dentro del <select name="mod imp" ..disabled="on"> funciona pero siempre lo deshabilita y no bajo una condicion,
no sé como indicarle q deshabilite los otros menus desplegables??
El código dde aparece los options buttons es el siguiente:

<table width="83%" border="1" align="center" cellspacing="0" bordercolor="#999999">
<tr>
<td width="35%" class="cuerponegrita"> <input type="radio" name="busq_consum" value="consum">
Consumible:</td>
<td width="65%"><b><font size="2" face="Times New Roman, Times, serif">
<select name="consumible" class="listado" id="consumible">
<?php
$cni = conectarse();
$result = mysql_query("SELECT CONSUMIBLE FROM consumibles",$cni);
while($row=mysql_fetch_array($result))
{
?>
<option> <?php echo $row["CONSUMIBLE"]?></option>
<?php }?>

</select>
</font></b></td>



</tr>
<tr>
<td class="cuerponegrita"> <input type="radio" name="busq_consum" value="modelo_imp">
Modelo:</td>
<td><font size="2" face="Times New Roman, Times, serif"><b><font size="2" face="Times New Roman, Times, serif"><b>
<font size="2" face="Times New Roman, Times, serif"><b>
<select name="mod_imp" class="listado" id="mod_imp" >
<?php
$result=mysql_query("SELECT DISTINCT MODELO_IMP FROM impresoras ORDER BY MODELO_IMP",$cni);
while($row=mysql_fetch_array($result))
{
?>
<option selected> <?php echo $row["MODELO_IMP"]?></option>
<?php }?>


</select>
</b></font> </b></font> </b></font></td>
</tr>
<tr>
<td class="cuerponegrita"> <input type="radio" name="busq_consum" value="marca_imp">
Marca:</td>
<td><font size="2" face="Times New Roman, Times, serif"><b><font size="2" face="Times New Roman, Times, serif"><b>
<select name="marca_imp" class="listado" id="marca_imp" <?php if ($busq_consum=='modelo_imp' or $busq_consum=='consum' or $busq_consum=='color_consum'){echo"disabled";}?>>

<?php
$cni = conectarse();
$result=mysql_query("SELECT DISTINCT MARCA_IMP FROM impresoras",$cni);
while($row=mysql_fetch_array($result))
{
?>
<option> <?php echo $row["MARCA_IMP"]?></option><?php }?>


</select>
</b></font> </b></font></td>
</tr>
<tr>
<td class="cuerponegrita"> <input type="radio" name="busq_consum" value="color_consum">
Color:</td>
<td><font size="2" face="Times New Roman, Times, serif"><b><font size="2" face="Times New Roman, Times, serif"><b>
<select name="color_consum" class="listado" id="color_consum">
<?php
$cni = conectarse();
$result=mysql_query("SELECT DISTINCT COLOR_IMP FROM impresoras",$cni);
while($row=mysql_fetch_array($result))
{
?>
<option> <?php echo $row["COLOR_IMP"]?></option><?php }?>



</select>
</b></font> </b></font></td>
</tr>
</table>


2)Cuando se selecciona la opcion de consumible, marca o color,y se presiona el boton de aceptar, se deshabilita
el menu de marcas, eso es lo q quiero pero q lo haga antes de q se presione el boton aceptar.

El formulario es de búsqueda segun una condición, ¿cómo programo que realice la busqueda segun lo que el usuario
halla seleccionado en los menus desplegables? Sé que tengo que hacer unos select para buscar en la base de datos, pero es en esta misma
pagina que se procesan los datos?? ó es en la página siguiente de la busqueda que en mi caso se llama "result_busq_cons.php"
q es la q muestra los resultados de los consumibles de impresora buscados.

La variable q define $cn= conectarse es para conectarse con la base de datos, ya esta definida
en unas librerias q ellos me dieron.

Tengo q preguntar por las variables de los menus, cierto?
<?php
//Pregunto por las variables para procesarlas y realizar la búsqueda
if (isset ($modelo_imp)) {
$cn = conectarse();

//Para buscar los consumibles segun el tipo de consumible
$sql = "SELECT CONSUMIBLE FROM consumibles where CONSUMIBLE= '$modelo_imp'";
$result = mysql_query($sql, $cn);
echo "$result";

} #fin el if ($modelo_imp)

?>

pero no me funciona, voy por buen camino o no?? como lo puedo hacer??


POr favor diganme una idea de com hacer esto, es urgente!!
  #2 (permalink)  
Antiguo 29/12/2003, 09:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
1) Tengo un formulario llamado "busq_conf_cons" en dde aparecen 4 option buttons llamados:
modelo, marca, consumible y color, cada uno con un menu desplegable al lado, ¿como hacer para q cuando el usuario
seleccione una opcion(por ejemplo modelo) se deshabiliten los otros menus
desplegables?, dado q no es correcto q él marque modelo y pueda marcar un color
por ejemplo, tiene que ser uno de ellos
Toda acción que se realice en el "cliente" antes de que los datos llegen al servidor (PHP) son temas que debes resolver en Javascript/HTML como es el caso.

2) el punto 2 que mencionas .. en principio la tarea de deshabilitar botones de formulario es de Javacript .. El resto es tema de PHP lo cual sería ideal que iniciaras un nuevo tema con esa pregunta concreta en el foro PHP.

Muevo tu pregunta al foro Javascript para que te orienten mejor.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 29/12/2003 a las 09:46
  #3 (permalink)  
Antiguo 29/12/2003, 10:26
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 21 años, 5 meses
Puntos: 7
de todas maneras si quieres hacer eso, ya teniendo un option button marcado, puedes usar el desplegable correspondiente haciendo referencia al nombre de este

ejemplo

<input type="radio" name="tipo" value="marca" />
<select name="combo_marca">
<option value="chevrolet">Chevrolet</option>
<option value="renault">Renault</option>
<option value="lada">Lada</option>
</select>

<input type="radio" name="tipo" value="color" />
<select name="combo_color">
<option value="blanco">blanco</option>
<option value="negro">negro</option>
<option value="rojo">rojo</option>
</select>

entonces marcas uno, al pasarlos a procesar, puedes detectar cual radio esta marcado y hacer alguna cosa dependiendo el caso, y para eso puedes usar un "switch/case"

switch($strTipo)
{
case "marca":
// agregar la cadena a la consulta para buscar por marca
// usar el valor que seleccionamos en el combo combo_marca
break;

case "color":
// en vez de la marca ahora lo hacemos con el color
break;

}

saludos
__________________
=PoWeReD By MySeLf!=

Última edición por e-miliox; 29/12/2003 a las 10:27
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 23:17.