Foros del Web » Programando para Internet » Javascript »

Opción OTROS en lista desplegable ¿Cómo?

Estas en el tema de Opción OTROS en lista desplegable ¿Cómo? en el foro de Javascript en Foros del Web. Estimados expertos: Una consulta. Quiero hacer una lista desplegable que tenga la opción Otros. Y cuando le hago clic en OTROS quiero que aparezca o ...
  #1 (permalink)  
Antiguo 10/10/2007, 23:40
 
Fecha de Ingreso: julio-2005
Mensajes: 172
Antigüedad: 18 años, 9 meses
Puntos: 0
Opción OTROS en lista desplegable ¿Cómo?

Estimados expertos:
Una consulta. Quiero hacer una lista desplegable que tenga la opción Otros. Y cuando le hago clic en OTROS quiero que aparezca o se active una caja de texto para llenar el color que no se encuentre en el listado.
No sé cómo hacerlo. Me podrían ayudar por favor.

<select name="color" id="color">
<option value="Blacks">Blacks</option>
<option value="Blue">Blue</option>
<option value="Browns">Browns</option>
<option value="Chocolate">Chocolate</option>
<option value="Golds">Golds</option>
<option value="Grays">Grays</option>
<option value="Greens">Greens</option>
<option value="Off white / Cream">Off white / Cream</option>
<option value="Oranges">Oranges</option>
<option value="Pinks">Pinks</option>
<option value="Purples">Purples</option>
<option value="Reds">Reds</option>
<option value="Spot">Spot</option>
<option value="Tan/Beige">Tan/Beige</option>
<option value="White">White</option>
<option value="Yellows">Yellows</option>
<option value="Other">Otros</option>
</select>

Gracias por su tiempo,

Nano
  #2 (permalink)  
Antiguo 11/10/2007, 00:41
 
Fecha de Ingreso: mayo-2005
Mensajes: 74
Antigüedad: 18 años, 11 meses
Puntos: 2
Re: Opción OTROS en lista desplegable ¿Cómo?

<select name="color" id="color" onChange="ActivaControl(document.NombreFormulario. SiColorEsOther,this);">
<option value="Blacks">Blacks</option>
<option value="Blue">Blue</option>
<option value="Browns">Browns</option>
<option value="Chocolate">Chocolate</option>
<option value="Golds">Golds</option>
<option value="Grays">Grays</option>
<option value="Greens">Greens</option>
<option value="Off white / Cream">Off white / Cream</option>
<option value="Oranges">Oranges</option>
<option value="Pinks">Pinks</option>
<option value="Purples">Purples</option>
<option value="Reds">Reds</option>
<option value="Spot">Spot</option>
<option value="Tan/Beige">Tan/Beige</option>
<option value="White">White</option>
<option value="Yellows">Yellows</option>
<option value="Other">Otros</option>
</select>
<input type="text" name="SiColorEsOther" style="visibility:hidden;" />


y la funcion:


<script language="javascript" type="text/javascript">
function ActivaControl(ctrl,que){
if (que.value == "Other"){
ctrl.style.visibility= 'visible';
}else{
ctrl.style.visibility= 'hidden';
}
}
</script>


Te lo explico, cuando cambie el select, compruebas y si el valor es Other, pues activas un texto llamado "SiColoresOther" si no lo es lo dejamos invisible de nuevo.

Nota; Así lo puedes hacer seguro y es importante que el formulario se llame "NombreFormulario" o como tu quireas pero cambialo en la llamada a la funciona.

Última edición por txels; 11/10/2007 a las 00:45 Razón: completarlo!
  #3 (permalink)  
Antiguo 14/10/2007, 13:07
 
Fecha de Ingreso: julio-2005
Mensajes: 172
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Opción OTROS en lista desplegable ¿Cómo?

Hola TXELS:
Gracias por tu respuesta. Está bueno tu código pero sólo hace visible u oculta la caja de texto cuando se elige OTHER.
Mi duda es la siguiente. Si elijo OTHER en el SELECT, se activa La caja de texto que me permitirá digitar el color pero, cuando envío el formulario, el dato que almacena a la base de datos es el del menu SELECT y no el de la caja de texto. Me parece que falta una opción para desactivar el SELECT cuándo está visible la caja de texto.
Podrías decirme si estoy en lo correcto y cómo se solucionaría.

Gracias por tu tiempo.

Na-no
  #4 (permalink)  
Antiguo 15/10/2007, 15:33
Avatar de messer  
Fecha de Ingreso: julio-2004
Mensajes: 467
Antigüedad: 19 años, 9 meses
Puntos: 5
Re: Opción OTROS en lista desplegable ¿Cómo?

Que tal si le pones a tu textfield el nombre del select y el select lo pones disabled, seria algo como esto:

Código HTML:
<script language="javascript">
function cambia(){
var d=document;
d.form.texto1.name="texto2"; //alert("Ahora el nombre del textbox es: "+d.form.texto1.value);
var mm=d.getElementsByTagName("input");
for(i=0; i<mm.length; i++){
alert(mm[i].name)
}
}
function showname(){
var d=document;
alert("El Nombre del campo de texto es: "+d.form.texto2.name+"\nY el valor actual es: "+d.form.texto2.value);
}
</script>
<form name="form">
<input type="text" name="texto1" value="" />
<input type="button" name="cambiaor" value="Cambiar" onclick="cambia()">
<input type="button" name="mostraor" value="Mostrar" onclick="showname()">
</form> 
El codigo es para uso referencial, para que tengas una idea de lo que te sugiero..

Espero lo aproveches, Saludos!!
__________________
<script type="text/messerScript"><!--
window.onload=function(){ loadMesserRules(this.href) }
--></script>
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 06:24.