Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Valor de select al instante

Estas en el tema de Valor de select al instante en el foro de Javascript en Foros del Web. Hola a todos, estoy empezando a programar y me he perdido un poco. Lo que quiero hacer es enviar un formulario (hasta hay bien), pero ...
  #1 (permalink)  
Antiguo 01/04/2013, 07:04
Avatar de mbm150  
Fecha de Ingreso: enero-2013
Ubicación: Muskiz
Mensajes: 79
Antigüedad: 11 años, 4 meses
Puntos: 21
Pregunta Valor de select al instante

Hola a todos, estoy empezando a programar y me he perdido un poco.

Lo que quiero hacer es enviar un formulario (hasta hay bien), pero hay un select. Nada más seleccionar el select quiero que aparezca un texto según el valor de este.

Este es el html:
Código HTML:
Ver original
  1. <p id="elegido"></p>
  2.                     <form action="envio.php" method="post">
  3.                         <p class="envio">
  4.                             <select id="tipo">
  5.                                 <option value="animales">Animales</option>
  6.                                 <option value="ciencia">Ciencia</option>
  7.                                 <option value="comparaciones">Comparaciones</option>
  8.                                 <option value="deportes">Deportes</option>
  9.                                 <option value="etnicos">Étnicos</option>
  10.                                 <option value="familiares">Familiares</option>
  11.                                 <option value="informatica">Informática</option>
  12.                                 <option value="ninos">Niños</option>
  13.                                 <option value="preguntas">Preguntas</option>
  14.                                 <option value="profesiones">Profesiones</option>
  15.                                 <option value="salud">Salud</option>
  16.                                 <option value="sexo">Sexo</option>
  17.                                 <option value="sociedad">Sociedad</option>
  18.                                 <option value="otros">Otros</option>
  19.                             </select>
  20.                         </p>
  21.                     </form>

Quiero que al seleccionar una opción, al instante se escriba una descripción en el campo p que he puesto arriba.

Es necesario AJAX para esto? Es que no tengo ni idea de ajax...

Gracias por la ayuda.
  #2 (permalink)  
Antiguo 01/04/2013, 08:26
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Valor de select al instante

Podés obtenerlo sabiendo el value del select identificado por su id, como lo normal es llamar la función con el evento onchange, es aconsejable incluir un option inicial con un valor vacio

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6.  
  7. <script type="text/javascript">
  8. //<![CDATA[
  9. function valor_select(){
  10. var valor = document.getElementById('tipo').value;
  11. if (valor != ""){
  12. alert(valor);
  13. }
  14. }
  15. //]]>
  16. </head>
  17. <p id="elegido"></p>
  18.                     <form action="envio.php" method="post">
  19.                         <p class="envio">
  20.                             <select id="tipo" onchange="valor_select();">
  21.                             <option value="">Seleccionar</option>
  22.                                 <option value="animales">Animales</option>
  23.                                 <option value="ciencia">Ciencia</option>
  24.                                 <option value="comparaciones">Comparaciones</option>
  25.                                 <option value="deportes">Deportes</option>
  26.                                 <option value="etnicos">Étnicos</option>
  27.                                 <option value="familiares">Familiares</option>
  28.                                 <option value="informatica">Informática</option>
  29.                                 <option value="ninos">Niños</option>
  30.                                 <option value="preguntas">Preguntas</option>
  31.                                 <option value="profesiones">Profesiones</option>
  32.                                 <option value="salud">Salud</option>
  33.                                 <option value="sexo">Sexo</option>
  34.                                 <option value="sociedad">Sociedad</option>
  35.                                 <option value="otros">Otros</option>
  36.                             </select>
  37.                         </p>
  38.                     </form>
  39. </body>
  40. </html>

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 01/04/2013, 08:54
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Valor de select al instante

Puedes crear un nuevo atributo a cada option con el texto adecuado para tener todo mejor organizado y para que el html final sea más fácil de imprimir con PHP u otro lenguaje de servidor.

http://jsfiddle.net/marlanga/dAmwj/1/
  #4 (permalink)  
Antiguo 01/04/2013, 09:00
Avatar de mbm150  
Fecha de Ingreso: enero-2013
Ubicación: Muskiz
Mensajes: 79
Antigüedad: 11 años, 4 meses
Puntos: 21
Respuesta: Valor de select al instante

Funciono perfecto, muchas gracias!!
  #5 (permalink)  
Antiguo 01/04/2013, 09:03
Avatar de mbm150  
Fecha de Ingreso: enero-2013
Ubicación: Muskiz
Mensajes: 79
Antigüedad: 11 años, 4 meses
Puntos: 21
Respuesta: Valor de select al instante

Iba a hacerlo con if(valor=="animales") y asi aunque ese modo también me gusta, gracias por la ayuda.

Etiquetas: select
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 10:34.