Foros del Web » Programando para Internet » Javascript »

como enviar un el contenido de un select a un text area cuando se presione un boton

Estas en el tema de como enviar un el contenido de un select a un text area cuando se presione un boton en el foro de Javascript en Foros del Web. Espero que este ejemplo pretendidamente gracioso te resuelva tu duda: Código PHP: < html > < head > < style > *{ font : normal 10px ...
  #1 (permalink)  
Antiguo 18/02/2004, 17:16
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Espero que este ejemplo pretendidamente gracioso te resuelva tu duda:
Código PHP:
<html>
<
head>

<
style>
*{
font:normal 10px/10px verdana;overflow:auto;}

</
style>
<
script>
function 
escribir(){
posibleSaludo=document.forms[0].insultos;
document.forms[0].carta.focus();
document.forms[0].carta.value+=posibleSaludo.options[posibleSaludo.selectedIndex].text+"\n\n";

}
</script>
</head>

<body>

Carta al jefe:
<form id="formul" action="javascript:alert('enviandoooo...')">

<label for="insultos">Seleccione un saludo:</label>
<select id="insultos" name="insultos" size="1">
    <option value="1" SELECTED>Pedazo de imbecil:</option>
    <option value="2">Tontaina mio:</option>
    <option value="3">Suerte de Bobalicón:</option>
    <option value="4">Atolondrado Narizotas:</option>
    <option value="5">Desgraciado bastardo:</option></select><br />
    


<textarea 
    cols="60" 
    rows="20" 
    name="carta">
</textarea><br />

<input 
    type="button" 
    value="inserte el saludo seleccionado" 
    onclick="escribir()" />

</form>


</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #2 (permalink)  
Antiguo 18/02/2004, 23:35
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
qué mensaje curioso!

;)
__________________
...___...
  #3 (permalink)  
Antiguo 19/02/2004, 13:52
 
Fecha de Ingreso: diciembre-2003
Mensajes: 212
Antigüedad: 20 años, 5 meses
Puntos: 0
Hola, disculpa pero no entiendo bien el ejemplo. Aparece un menu desplegable y cuando se selecciona una opcion , y se presiona el boton, se envia a la caja de texto??
No me funciona, tengo que colocarle algo adicional??
Por favor explicame un poco tu codigo

Última edición por sofia2; 19/02/2004 a las 14:03
  #4 (permalink)  
Antiguo 19/02/2004, 14:53
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Las facultades psiquicas de KarlanKas aumentan por momentos. Ahora ya contesta preguntas que no han sido formuladas

Saludos,
  #5 (permalink)  
Antiguo 20/02/2004, 05:57
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Te lo explico encantado!

cuando presionas el botón se ejecuta este código:
Código PHP:
<script>
function 
escribir(){
posibleSaludo=document.forms[0].insultos;
document.forms[0].carta.focus();
document.forms[0].carta.value+=posibleSaludo.options[posibleSaludo.selectedIndex].text+"\n\n";

}
</script> 

Que lo que hace es:

mete en la variable posibleSaludo el menú desplegable (o select). Esto lo hago para que no queden lineas demasiado largas.
¿Cómo lo hago?
Javascript hace un array con todos los formularios de una página (y con todas las imágenes y con todos los links...) y los mete en la variable forms. Para referirnos a este formulario ponemos forms[0], es decir, estamos pidiendo que vaya al primer formulario de la página (recuerda que javascript empieza a contar desde el cero). Luego dentro del formulario pedimos que busque el elemento cuyo nombre (name) sea insultos.

Con esto hemos hecho que cada vez que se ponga posibleInsulto sea como si pusieramos document.forms[0].insultos;

Hasta ahora fácil, no?

Luego ponemos el foco en el textbox llamado carta. Esto lo hacemos para que cuando introduzca el saludo seleccionado en el text box quede el cursor después del saludo y no antes.

Esto también es sencillo, no me digas que no!

Ahora viene lo que tal vez sea un poquito más complicado.

Código PHP:
document.forms[0].carta.value+=posibleSaludo.options[posibleSaludo.selectedIndex].text+"\n\n"


Aquí decimos que al valor del elemento carta (el textbox) del primer formulario del documento se le añada (a+=b es lo mismo que decir a=a+b) el texto que se muestra de la opción seleccionada del combo (select).

Cómo se descubre la opción seleccionada del select

Javascript hace un array (este JS se pasa el día haciendo arrays) con todos las opciones (<option>) de un select. Las mete en la variable options. Así que si ponemos:
Código PHP:
alert(document.forms[0].insultos.options[3].text); 

nos saldrá un alert con el texto "Atolondrado Narizotas:" (recuerda que JS empieza a contar desde el cero).

si hubiesemos puesto:
Código PHP:

alert
(document.forms[0].insultos.options[3].value); 

nos abría dado 4 que es el value del elemento 3 (empezando a contar desde cero, claro).

entonces, como podemos poner entre los corchetes el valor del elemento que se ha seleccionado?

Aquí js nos lo pone un poco dificil, porque para saber que elemento del array options ha sido seleccionado tenemos que poner:
Código PHP:
document.forms[0].insultos.selectedInsex

poniendo esto nos daría un número que es el número que hace en el array el elemneto seleccionado.

Así, si seleccionamos "Pedazo de Imbecil" nos daría un 0 (cero) porque es la primera opción.

Pero esto a veces es muy poco útil... ya que lo que queremos saber es el value o el text de al lado... entonces ¿cómo lo hacemos?

Pues podemos combinar las dos caracteristicas dichas:

Metemos en una variable el elemento elegido:
Código PHP:
elegido=document.forms[0].insultos.selectedInsex

y ahora pedimos que nos muestre el texto o el valor de ese elemento:
Código PHP:
textoElegido=document.forms[0].insultos.options[elegido].text;
valorElegido=document.forms[0].insultos.options[elegido].value

Ahora entenderás perfectametne (espero) la última línea del código:
Código PHP:
document.forms[0].carta.value+=posibleSaludo.options[posibleSaludo.selectedIndex].text+"\n\n"

Se añade al valor de la carta el texto de al lado de la opción seleccionado. Es decir el texto en rojo de aquí abajo:

<option value="3">Suerte de Bobalicón:</option>

Confío en haberme sabido explicar. Si tienes más dudas por mi torpeza al explicar por favor hazmelo saber.

Un saludo!!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 22/02/2004, 21:58
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Cita:
Mensaje Original por JavierB
Las facultades psiquicas de KarlanKas aumentan por momentos. Ahora ya contesta preguntas que no han sido formuladas

Saludos,

Jejej... no es el único superdotado :D

Aquí hay otro especimen que hace lo mismo: http://www.forosdelweb.com/s/msg183675.html


;)
  #7 (permalink)  
Antiguo 25/02/2004, 14:58
 
Fecha de Ingreso: diciembre-2003
Mensajes: 212
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracias Karlan, voy a ver como aplico lo que me dices en lo que yo necesito.
Gracias!! cualquier duda te consulto
  #8 (permalink)  
Antiguo 25/02/2004, 19:02
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
De nada!

Por cierto, qué era lo que no te funcionaba? ¿Qué error te daba?

__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #9 (permalink)  
Antiguo 27/02/2009, 12:44
 
Fecha de Ingreso: junio-2007
Mensajes: 23
Antigüedad: 16 años, 11 meses
Puntos: 0
Pregunta Respuesta: como enviar un el contenido de un select a un text area cuando se presione

¿Cómo sería si el select fuera múltiple y quisiera seleccionar más de una opción?

gracias.

Última edición por antuan80; 27/02/2009 a las 13:18
  #10 (permalink)  
Antiguo 01/03/2009, 06:28
 
Fecha de Ingreso: junio-2007
Mensajes: 23
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: como enviar un el contenido de un select a un text area cuando se presione

Cita:
Iniciado por antuan80 Ver Mensaje
¿Cómo sería si el select fuera múltiple y quisiera seleccionar más de una opción?

gracias.
¿Es posible?, por favor. Es lo que busco desesperadamente.
  #11 (permalink)  
Antiguo 01/03/2009, 06:51
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: como enviar un el contenido de un select a un text area cuando se presione

El mensaje original es de hace más de 5 años. Por favor, no reviváis temas tan antiguos.

Saludos,
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 02:18.