Foros del Web » Programando para Internet » PHP »

Obtener valor de select

Estas en el tema de Obtener valor de select en el foro de PHP en Foros del Web. Hola de nuevo. Hace rato descarge un ejemplo de formulario de contacto y lo adapte a mis necesidades, pero le agrege varios select, el punto ...
  #1 (permalink)  
Antiguo 21/08/2010, 11:09
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Obtener valor de select

Hola de nuevo.

Hace rato descarge un ejemplo de formulario de contacto y lo adapte a mis necesidades, pero le agrege varios select, el punto es que no se como captuar el value que se escoja de cada select.

Aqui dejo la forma en que se captura un input:

Código PHP:
$nombre_form=$_POST['nombre']; 
Código HTML:
<span class='texto'>Nombre Completo:</span> <input type='text' maxlength="35" name='nombre' size='28' value="<?php echo $nombre_form;?>"/><br /> 
y por ejemplo quiero caputar el valor de este select:

Código HTML:
<select NAME="pg1" onchange="d1(this)">
<option SELECTED>Seleccionar una opción
<option>a) 1
<option>b) 2
<option>c) 3
<option>d) 4
<option value="otro1">e) Otro
</select><br>
<br>
<i>Especificar:</i> <input type='text' id="prg1" name='otro1' size='50' disabled="true"><br />
<br> 
Como ven, no es un simple select, ya que al elegir la opcion Otro, se habilita un input que esta mas abajo, en el cual se debe especificar cual es ese otro.

Espero anciosamente su ayuda ^^
  #2 (permalink)  
Antiguo 21/08/2010, 11:17
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: Obtener valor de select

Pues es lo mismo

solo debes cambiar por el valor del name de tu select

Código PHP:
$select $_POST['pg1']; 
el select es para elegir un valor ese valor una vez selected o sea seleccionado será el valor del POST es decir se hace igual que el input
  #3 (permalink)  
Antiguo 21/08/2010, 11:18
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: Obtener valor de select

Hola,

Muchas gracias por tu respuesta =)

pero que pasa si seleccionan "otro"?
  #4 (permalink)  
Antiguo 21/08/2010, 11:26
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: Obtener valor de select

Cita:
Iniciado por kenproxd Ver Mensaje
Hola,

Muchas gracias por tu respuesta =)

pero que pasa si seleccionan "otro"?
ehm pues para eso es el select para seleccionar valores puedes comprobar su valor

de este modo

form.php
Código HTML:
Ver original
  1. <form name="form" method="post" action="datos.php">
  2.  <select name="pg1">
  3.    <option value="1">1</option>
  4.    <option value="2">2</option>
  5.    <option value="3">3</option>
  6.    <option value="4">4</option>
  7.  </select>
  8. </form>

datos .php

Código PHP:
<?php
echo $_POST['pg1'];
?>
asi verás que si seleccionas un valor el que sea, en el archivo datos.php se imprime el valor elegido, sin tener que tomar cada valor por metodo post solo el valor del select.

Edito no habia visto tu post ese select que tienes esta mal

debe ser asi:

Código HTML:
Ver original
  1. <select NAME="pg1" onchange="d1(this)">
  2. <option SELECTED>Seleccionar una opción</option>
  3. <option value="valor que se quiere mandar">a)</option>
  4. <option value="valor que se quiere mandar">b)</option>
  5. <option value="valor que se quiere mandar">c)</option>
  6. <option value="valor que se quiere mandar">d)</option>
  7. <option value="otro1">Otro</option>

todos los option deben cerrarse

value es el valor que quieres mandar y lo que esta en medio de <option>Esto</option> es la parte visual, debes leer un poco de html. y javascript
  #5 (permalink)  
Antiguo 21/08/2010, 11:32
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: Obtener valor de select

si eso me funciona perfecto,

pero en el tema principal escribe que tenia una variacion, la cual era que al elegir la opcion Otro, un input ubicado más abajo se habilitaba,para que el usuario escriba ese OTRO en aquel input.

Como haria para tomar el valor del input cuando seleccionen Otro ?
  #6 (permalink)  
Antiguo 21/08/2010, 11:38
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: Obtener valor de select

Cita:
Iniciado por kenproxd Ver Mensaje
si eso me funciona perfecto,

pero en el tema principal escribe que tenia una variacion, la cual era que al elegir la opcion Otro, un input ubicado más abajo se habilitaba,para que el usuario escriba ese OTRO en aquel input.

Como haria para tomar el valor del input cuando seleccionen Otro ?
Eso es mas con javascript, mira estos ejemplos
en el primero usan la propiedad disabled ara deshabilitar el otro select, puedes cambiarlo por un input con el mismo nombreque el select que lo habilita y si seleccionan otro se habilita el input

http://www.desarrolloweb.com/articulos/1490.php

ahi esta pero se me hace mucho embrollo, he visto que lo hacen mas facil con checkbox o con radiobutton.
  #7 (permalink)  
Antiguo 21/08/2010, 11:44
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: Obtener valor de select

Si logre hacer que se habilite y deshabilite al seleccionar la opcion Otro, lo que no logro hacer es capturar lo que el usuario escribe el input de Otro.


Si no es mucha molestia, me explicarias lo de las cajas porfavor?
  #8 (permalink)  
Antiguo 21/08/2010, 11:57
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: Obtener valor de select

Cita:
Iniciado por kenproxd Ver Mensaje
Si logre hacer que se habilite y deshabilite al seleccionar la opcion Otro, lo que no logro hacer es capturar lo que el usuario escribe el input de Otro.


Si no es mucha molestia, me explicarias lo de las cajas porfavor?

bueno si dices que lograste quitar el disabled, nos hemos estado liando mucho y a lo tonto

debrias checar el name de tu input type="text" por que se llama prg1 no como el select, por lo tanto debes recoger por metodo post este valor
Código PHP:
$valor $_POST['prg1']; 
que es el de tu input text

puedes crear una condicional

Código PHP:
if (!$_POST['pg1'])//si no existe el valor del select
{
   
$valor $_POST['prg1']; //tomas el valor de input text
}
else
//si si existe
{
   
$valor $_POST['pg1']; //tomas el valor de tu select
}
echo 
$valor//imprimimos el valor para ver si funciona. 
  #9 (permalink)  
Antiguo 21/08/2010, 18:03
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: Obtener valor de select

hola, disculpa la demora

Mira lo que pasa es que para hacer que el input se habilite al elegir "Otro", uso el value de esta opcion.

Aqui mi codigo:

Con este js digo que si se selecciona el value "otro1", se habilita el elemento id "prg1":

Código HTML:
<script language="javascript" type="text/javascript">
function d1(selectTag){
  if(selectTag.value == 'otro1'){
document.getElementById('prg1').disabled = false;
 }else{
 document.getElementById('prg1').disabled = true;
 }
}
</script> 
Aqui fijo el valor de Otro como "otro1" para que al seleccionarlo se active el input que lleva como id "prg1":

Código HTML:
<select NAME="pg1" onchange="d1(this)">
<option SELECTED>Seleccionar una opción
<option>a) 1
<option>b) 2
<option>c) 3
<option>d) 4
<option value="otro1">e) Otro
</select><br>
<br>
<i>Especificar:</i> <input type='text' id="prg1" name='otro1' size='50' disabled="true" value="<?php echo $otro1;?>"><br />
<br> 
El problema es que al usar ese metodo, ya le estoy dando un valor a "Otro", por lo tanto al seleccionarlo, la variable se captura con el valor "otro1"

Espero que se haya entendido.

Gracias =)
  #10 (permalink)  
Antiguo 21/08/2010, 22:30
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: Obtener valor de select

Respuesta: solo queda deshabilitar el select al seleccionar otro1
  #11 (permalink)  
Antiguo 22/08/2010, 08:25
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: Obtener valor de select

SOLUCIONADO

Bueno tras cranear un poco se me ocurrio capturar tambien el valor del input que se activa si se elige la opcion "otro", entonces al enviar el mensaje hago esto:

Código HTML:
$contenido.="<i>PREGUNTA 1</i><br>\r\n";
$contenido.="<b>".$RESPUESTA1." ".$OTRO1."</b><br><br>\r\n";
Entonces, si eligen Otro, en el mensaje llegará asi:

PREGUNTA 1
otro1 LO QUE ESCRIBIO EN EL INPUT

Y si no elige la opcion Otro pues este input no se activara por lo que no podrá escribir nada, y en el mensaje solo llegara la opción que eligió.

Muchas gracias por su ayuda =)

Última edición por kenproxd; 22/08/2010 a las 09:25

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 00:19.