Foros del Web » Programando para Internet » Javascript »

Combo que traslada información a un input

Estas en el tema de Combo que traslada información a un input en el foro de Javascript en Foros del Web. Hola He estado viendo las FAQs, muy buenas ;). Estoy tratando de modificar uno de los que he visto (tenía botones de radio y activaba ...
  #1 (permalink)  
Antiguo 03/12/2004, 17:31
 
Fecha de Ingreso: noviembre-2004
Mensajes: 22
Antigüedad: 19 años, 5 meses
Puntos: 0
Combo que traslada información a un input

Hola

He estado viendo las FAQs, muy buenas ;).

Estoy tratando de modificar uno de los que he visto (tenía botones de radio y activaba o anulaba una casilla de texto), yo lo quiero con un combo, me gustaria que una de las opciones me dejase activada la casilla de texto y el resto que trasladasen su valor a dicha casilla.

Al final me queda el siguiente código, pero no funciona, ¿alguien me puede ayudar?.

Código PHP:
<html
<
head
  <
script language="JavaScript"

   function 
habilita(){ 
    
document.frm.txt.disabled false;
    
document.frm.txt.value ""

   } 

   function 
deshabilita1(){ 
    
document.frm.txt.disabled true
    
document.frm.txt.value "uno"
   } 

   function 
deshabilita2(){ 
    
document.frm.txt.disabled true
    
document.frm.txt.value "dos"
   } 

  
</script> 
</head> 
<body> 
 <form name='frm'> 
  <select name='seleccionado'>
  <option value=as onchange="habilita()">text habilitado
  <option value=ad onchange="deshabilita1()">uno
  <option value=as onchange="deshabilita2()">dos
  </select>
  <input type='text' name='txt' enabled>
 </form>
</body> 
</html> 
  #2 (permalink)  
Antiguo 03/12/2004, 18:24
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola cacerola:

El evento onchange hay que ponerlo en el select, y en las option's pueden ponerse values y textos... Además, no debes repetir los valores "value":

Una opción sería:

<form name='frm'>
<select name='seleccionado' onchange="window[this.value]()">
<option value="habilita">text habilitado
<option value="deshabilita1">uno
<option value="deshabilita2">dos
</select>
<input type='text' name='txt' enabled>
</form>

Otra:
<form name='frm'>
<select name='seleccionado' onchange="if (this.value == 'habilita') habilita(); if (this.value == 'deshabilita1') deshabilita1(); if (this.value == 'deshabilita2') deshabilita2();">
<option value="habilita">text habilitado
<option value="deshabilita1">uno
<option value="deshabilita2">dos
</select>
<input type='text' name='txt' enabled>
</form>

Seguramente se pueda hacer de otras maneras, pero a mi me gusta más la primera.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 04/12/2004, 03:42
 
Fecha de Ingreso: noviembre-2004
Mensajes: 22
Antigüedad: 19 años, 5 meses
Puntos: 0
Muchas gracias, me ha ido perfecto.

Un saludo.-
  #4 (permalink)  
Antiguo 04/12/2004, 03:46
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284


¡De nada!

Me alegro de que te vaya bien

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 07/12/2004, 01:17
 
Fecha de Ingreso: noviembre-2004
Mensajes: 22
Antigüedad: 19 años, 5 meses
Puntos: 0
Hola de nuevo

Al poner este código el botón de submit ya no me funciona, ¿tiene algo que ver las etiquetas "form"?.

Saludos
  #6 (permalink)  
Antiguo 07/12/2004, 02:18
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola cacerola:
¿De qué código hablas?

Pon como tienes todo el formulario...

Salidos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 07/12/2004, 04:18
 
Fecha de Ingreso: noviembre-2004
Mensajes: 22
Antigüedad: 19 años, 5 meses
Puntos: 0
Me refiero a que al meter el código del combo deja de funcionarme el boton de "submit".

Digamos que yo comienzo con un "<form>", luego pongo el boton de submit (al final) y entre medias el código del combo.
  #8 (permalink)  
Antiguo 07/12/2004, 04:39
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

El form debes tenerlo tal como lo tenías siempre...
En el ejemplo, no puse ningún action porque no hacía falta...

He probado con esto y funciona bien:

<html>
<head>
<script language="JavaScript">

function habilita(){
document.frm.txt.disabled = false;
document.frm.txt.value = "";

}

function deshabilita1(){
document.frm.txt.disabled = true;
document.frm.txt.value = "uno";
}

function deshabilita2(){
document.frm.txt.disabled = true;
document.frm.txt.value = "dos";
}

</script>

</head>
<body>

<form name='frm' action="javascript:alert('hola')">
<select name='seleccionado' onchange="window[this.value]()">
<option value="habilita">text habilitado
<option value="deshabilita1">uno
<option value="deshabilita2">dos
</select>
<input type='text' name='txt' enabled>
<input type="submit" value="probando" />
</form>

</body>
</html>

En este caso puse un action de prueba cualquiera (muestra una alerta sencilla) y funciona bien.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 21:50.