Foros del Web » Programando para Internet » PHP »

Recoger valor combo seleccionado

Estas en el tema de Recoger valor combo seleccionado en el foro de PHP en Foros del Web. HOla, quería saber como recoger en una variable el valor de un combobox, para despues pasarlo como hidden en un formulario. El combobox me carga ...
  #1 (permalink)  
Antiguo 22/02/2010, 04:21
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 9 meses
Puntos: 0
Recoger valor combo seleccionado

HOla, quería saber como recoger en una variable el valor de un combobox, para despues pasarlo como hidden en un formulario.

El combobox me carga usuarios de una base de datos, pero yo quiero saber cual tengo seleccionado, para enviarlo en otro formulario distinto de forma oculta.

GRACIAS
  #2 (permalink)  
Antiguo 22/02/2010, 04:32
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Recoger valor combo seleccionado

¿Cuál es el problema? El combobox es múltiple? Si no es múltiple no entiendo la dificultad:

Código PHP:
Ver original
  1. $variable = $_POST['nameDelCombo'];
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #3 (permalink)  
Antiguo 22/02/2010, 04:56
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recoger valor combo seleccionado

Vamos a ver;
Tengo un formulario con este combo que es normal, no multiple, en el que me aparecen los nombres de usuarios.

Luego tengo otro formulario que envia varios datos ademas de enviar en una variable hidden el valor del combo del formulario anterior.

Lo que no se es como recoger el valor que yo seleccione del combo para meterlo en una variable php para posteriormente enviarlo oculto

¿Se me entiende o no?
  #4 (permalink)  
Antiguo 22/02/2010, 05:09
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Recoger valor combo seleccionado

Y tú me entendiste a mí? Te di el código. Si es <select name="campo">:
Código PHP:
Ver original
  1. $variable = $_POST['campo'];
  2. echo "<input type='hidden' name='campooculto' value='".$variable."'>";
Has leído algún manual? Cuál es la complicación?
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #5 (permalink)  
Antiguo 22/02/2010, 05:30
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recoger valor combo seleccionado

Explicacion:


PAGINA PRINCIPAL

Código HTML:
<form name="FR1">
<select name='usuarios'>
       <option></option>
</select>
</form>


<form name="FR2" action="pagina_PHP" method="post">
      <input type="text" name="campo1">
      <input type="text" name="campo2">

      <input type="hidden" name="valorcmbo" value="<?php echo $variable; ?>">
      <input type="submit" value="enviar">
</form> 

PAGINA_PHP

En esta otra pagina recojo los datos enviados

--------------------
Yo lo que quiero es saber que valor tengo seleccionado en el combo del FR1 para poder enviarlo en una variable hidden del FR2 a la pagina php
¡¡¡¡¡¡¡¡¡¡¡¡QUE RECOGERLO CON $_POST ya lo se hacer!!!!!!!!!
  #6 (permalink)  
Antiguo 22/02/2010, 05:47
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Recoger valor combo seleccionado

Lo veo una tontería, cuando puedes enviar el formulario entero, pero l oque tú quieres en con javascript. Había que explicarse mejor desde un principio:
Código HTML:
Ver original
  1. function coger() {
  2. document.FR2.valorcmbo.value=document.FR1.usuarios.value;
  3. }</script>
  4. <select name='usuarios' onchange='coger();'>
  5.        <option></option>
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #7 (permalink)  
Antiguo 22/02/2010, 06:39
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recoger valor combo seleccionado

No, no es una tontería... ya que el combo del FR1 forma parte de varios formularios que se envian de forma independiente para realizar diferentes cosas.

GRACIAS POR LA AYUDA, ESTO YA ME FUNCIONA !!!!

De todas formas a lo mejor ya podía averiguarlo de otra forma ya que....... os explico:

Ese combo carga de la BD nombres, y al hacer onchange, envia por GET el valor de lo que selecionas a una variable, que hace una consulta a la BD en funcion de esa variable para sacar otros campos de ese nombre, para luego a traves de una funcion AJAX visualizarlos en un DIV.

En este proceso que acabo de describir, ¿COMO SE PODRÍA SABER LO QUE ESCOJO EN EL COMBO PARA DESPUES PODER ENVIARLO COMO OS DIJE EN UN HIDDEN?

Lo he intentado, pero al mostrar en un div con AJAX no me almacena el valor en una variable

De todas formas ya lo he conseguido, pero solo es por saber y optimizar codigo
GRACIAS DE NUEVO
  #8 (permalink)  
Antiguo 22/02/2010, 06:48
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Recoger valor combo seleccionado

Con el mismo código js que te di.
Código Javascript:
Ver original
  1. document.FR1.usuarios.value;
  2. //Esto coge lo que tengas seleccionado en usuarios
  3. document.FR2.valorcmbo.value;
  4. //Esto recoge el hidden valorcmbo
  5. //Para mezclarlos:
  6. var usuarioSeleccionado=document.FR1.usuarios;
  7. var campoOculto=document.FR2.valorcmbo;
  8.  
  9. //modificamos el valor de campoOculto:
  10. campoOculto.value=usuarioSeleccionado;
Es lo mismo que el código de arriba, pero así igual lo ves mejor.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #9 (permalink)  
Antiguo 22/02/2010, 07:01
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recoger valor combo seleccionado

De acuerdo, o sea que tiene que ser siempre a traves de javascript.

No se puede hacer directamente con PHP, con algun tipo de instruccion o similar??
  #10 (permalink)  
Antiguo 22/02/2010, 07:04
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Recoger valor combo seleccionado

Con php tendrás que hacerlo redirigiendo páginas, con lo que puede ser muy incómodo. Con javascript trabajas con el navegador del visitante, y no con el servidor.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #11 (permalink)  
Antiguo 22/02/2010, 07:08
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recoger valor combo seleccionado

Gracias por tu colaboración CHuLoSoY,
ves como al final hablando se entiende la gente...

Saludos
  #12 (permalink)  
Antiguo 22/02/2010, 07:10
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Recoger valor combo seleccionado

Cierto, espero que te sirva mi solución!
Oye, veo que somos compatriotas! Ribeirense de nacimiento, viviendo en coruña!
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #13 (permalink)  
Antiguo 22/02/2010, 08:04
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recoger valor combo seleccionado

Exacto, yo de la comarca de Bergantiños

El mundo es un pañuelo, jejejeeeeeee

Hasta otra
  #14 (permalink)  
Antiguo 23/02/2010, 05:47
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recoger valor combo seleccionado

Me ha surgido un problemilla de ultima hora.

Resulta que cuando envio los datos del formulario, al sacar el mensaje de "guardado" tambien puse un reset() para que me quite el contenido de los campos del formulario, pero esto lo que me hace es que no me recoge el valor del combo en el hidden
¿COMO SOLUCIONO ESTO?

Pongo el codigo para orientacion:

PAGINA PRINCIPAL
Código HTML:
<HEAD>
    <script>
	function coger()
		{	
	        document.FR2.valorcombo.value=document.FR1.usuarios.value;
		}
     </script>
</HEAD>
<BODY ONLOAD="COGER()">
<form name="FR1">
<select name='usuarios' ONCHANGE="COGER()">
       <option></option>
</select>
</form>


<form name="FR2" action="pagina_PHP" method="post" target="iframeUpload">
      <input type="text" name="campo1">
      <input type="text" name="campo2">

      <input type="hidden" name="valorcombo" value="<?php echo $variable; ?>">
      <input type="submit" value="enviar">
</form>

<iframe id="iframeUpload" name="iframeUpload" style="display:none"></iframe>				
<div id="mensaje" name="mensajeResultado"></div>
</BODY> 
pagina_PHP
Código PHP:
echo "<SCRIPT language='JavaScript' type='text/javascript'>parent.document.getElementById('mensaje').innerHTML = '* Prueba guardada correctamente en la B.D.'; parent.document.FR2.reset();</SCRIPT>"
Al cargar la pagina PRINCIPAL + al cambiar de valor en el combo del FR1 el valor del combo se pasa al campo hidden del FR2, pero cuando me saca el mensaje de "guardado" y me resetea el formulario, el valor del combo me lo pone a cero.
¿COMO PUEDO HACER PARA QUE ME COJA EL QUE TENGO EN ESE MOMENTO?
¿ME EXPLICO?

Última edición por luicos; 23/02/2010 a las 08:56
  #15 (permalink)  
Antiguo 23/02/2010, 07:14
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recoger valor combo seleccionado

Al no cargar la pagina ni al cambiar el combo, no coge valor alguno porque no se recarga la pagina por completo, sino actuaría el onload del body que llama a la función.

Entonces ¿COMO HAGO?
  #16 (permalink)  
Antiguo 23/02/2010, 07:53
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Recoger valor combo seleccionado

Bueno, para empezar no entiendo porqué llamas a una función CARGAR() si tienes definida una llamada coger().
Te puede servir selectedIndex[] para seleccionar un elemento del <select>:
Código Javascript:
Ver original
  1. var posicion=5;
  2. document.FR1.usuarios.selectedIndex[posicion];
Por cierto,e sto ya e sjavascript, no php.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #17 (permalink)  
Antiguo 23/02/2010, 08:01
 
Fecha de Ingreso: febrero-2010
Mensajes: 3
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Recoger valor combo seleccionado

Me ha servido la explicación
  #18 (permalink)  
Antiguo 23/02/2010, 08:34
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recoger valor combo seleccionado

Ya sé que es javascript, lo que pasa es que por no abrir otro tema ya aproveché este.

Perdón, no es cargar() es coger(), me he confundido con otra funcion que tengo.

Que es lo de posicion[5]????
La posicion del elemento que quiero seleccionar???, porque entonces sería 1 no 5, ¿no?
¿Que hace el selectedindex?

Última edición por luicos; 23/02/2010 a las 08:39
  #19 (permalink)  
Antiguo 23/02/2010, 09:24
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recoger valor combo seleccionado

Ya lo he conseguido, lo he hecho así:


echo "<SCRIPT language='JavaScript' type='text/javascript'>parent.document.getElementById('mensaj e').innerHTML = '* Prueba guardada correctamente en la B.D.'; parent.document.FR2.reset();
parent.document.FR2.valorcombo.value=parent.docume nt.FR1.usuarios.value;
</SCRIPT>";


He puesto el contenido de la función en el innerHTML
¿No se si es la forma más correcta?, pero funciona
  #20 (permalink)  
Antiguo 23/02/2010, 10:49
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Recoger valor combo seleccionado

Lo de posición 5 era un ejemplo para que lo vieses.

Solucionado? SAludo!s
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #21 (permalink)  
Antiguo 23/02/2010, 12:48
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recoger valor combo seleccionado

Como ya t dije lo he solucionado, lo que no se si es la forma correcta.

Tampoco he utilizado el selectedIndex que me decías ya que lo he probado y no me funcionaba ya que me introducia un registro de valor cero para el valor del usuario

¿Estará bien hecho así?¿como seria con selectedIndex?

echo "<SCRIPT language='JavaScript' type='text/javascript'>parent.document.getElementById('mensaj e').innerHTML = '* Prueba guardada correctamente en la B.D.'; parent.document.FR2.reset();
parent.document.FR2.valorcombo.value=parent.docume nt.FR1.usuarios.value;
</SCRIPT>";
  #22 (permalink)  
Antiguo 23/02/2010, 16:57
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Recoger valor combo seleccionado

Con selected index sería
Código Javascript:
Ver original
  1. parent.document.FR2.valorcombo.value=parent.docume nt.FR1.usuarios.selectedIndex[num];

donde num es un número del 0 al total-1 de los elementos del select (cada option). SE seleccionará automáticamente la posición num del select.
Pero esto ya es otro tema.
Si lo solucionaste no hay más ...
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #23 (permalink)  
Antiguo 24/02/2010, 03:09
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Recoger valor combo seleccionado

Gracias CHuLoSoY, pero así ya he probado y no me coge el valor del combo. No lo acabo de coger esto del selectedIndex.

De todas formas ya lo solucioné.
Siempre es de agradecer que haya alguien que ayude en las dudas de los demás

Un saludo

Etiquetas: combo, recoger, seleccionado
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:16.