Foros del Web » Programando para Internet » Javascript »

Mandar opción elegida select

Estas en el tema de Mandar opción elegida select en el foro de Javascript en Foros del Web. Hola, tengo en mente una cosilla que no sé si es posible hacer, tengo varios select en una página, y según elija una opción de ...
  #1 (permalink)  
Antiguo 26/07/2007, 09:59
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 2 meses
Puntos: 0
Mandar opción elegida select

Hola, tengo en mente una cosilla que no sé si es posible hacer, tengo varios select en una página, y según elija una opción de un select el usuario u otro pues tengo que mandarlo a una página u otra, y además, a esa página que lo mande tengo que mandarle la opción elegida en el select. A ver el código sería el siguiente:


Código:
<select name="cNUCFGM">
 <option value="-1">--</option>
 <option value=12>1 de CFGM de auto</option>
 <option value=17>1 de C.F.G.M. de Electrónica</option>
 <option value=26>1 de C.F.G.M. de Motos</option>
 </select>
&nbsp;&nbsp; <a href="crearModuloCFGMFPO.php[font color="?OPCION ELEGIDA SELECT"><input name="botonEl" align="right" type="button" value="Añadir módulo"></a>
Aquí os he mostrado 1 de los 4 select que hay, pero el problema siempre es el mismo. Tengo los q select en el mismo formuñario y necesito mandar la opción elegida en el select donde está escrito como argumento de la función.

Yo ya he pensado en una página intermedia para recibir los datos y a partir de ahi enviarla a uno u otro script dependiendo de lo que elija en usuario, pero no sé como diferenciar entre los 4 select cuál ha elegido el usuario.

Si me pudiéseis orientar cómo se puede hacer....

Muchas gracias 1 saludo.
  #2 (permalink)  
Antiguo 26/07/2007, 16:57
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 1 mes
Puntos: 10
Re: Mandar opción elegida select

Hola marcospuig

No se si me he enterado del todo bien respecto a lo que quieres hacer...

Entiendo que tienes 4 select's con una finalidad cada uno.

Por tu código, tienes el select, elijo una opción y le doy a "Añadir Módulo" y tiene que hacer eso que no consigues, ¿no?

Pero ..... ¿puedes elegir entre varios selects y tienes que tener en cuenta todos los valores? o ¿solo se selecciona 1 y con ese se tratan los datos?

Leyendo de nuevo tu código, yo vero que:
Tal y como tú lo tienes, el usuario, selecciona una opción del SELECT A y le da a "Añadir Módulo" (pero puede heber tocado los valores del select B. C y D.

Por el HREF que has intentado montar en tu enlace, intuyo que solo quieres tener en cuenta el último que ha tocado el usuario.
Para controlar cuál es el select que ha llamado a la siguiente página, podrías hacerlo por medio de un parámetro.

El botón del SELECT A manda un parámetro A (por ejemplo).
El botón del SELECT B manda un parámetro B (por ejemplo).
El botón del SELECT C manda un parámetro C (por ejemplo).
El botón del SELECT D manda un parámetro D (por ejemplo).

Te pongo un ejemplo y me dices que te parece:

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<
html>
<
head>
    <
title>Untitled</title>
    <
script language="JavaScript1.2" type="text/javascript">
        function 
prepararURLyParametros (idSelect)
        {
            
// Obtenemos el objeto SELECT usando el ID que hemos pasdo como parámetro a nuestra función
            
var elSelect document.getElementById(idSelect);
            
// Obtenemos que posición del SELECT está seleccionada
            
var indiceSeleccionado elSelect.selectedIndex;
            
// Si hemos seleccionado una opción válida ...
            
if (indiceSeleccionado != 0)
            {
                
// Obtenemos el valor seleccionado
                
var valorSeleccionado elSelect.options[indiceSeleccionado].value;
                
                
// HABRÍA DOS MANERAS DE CAMBIAR DE PÁGINA
                /*** REDIRECCIONAMIENTO POR MEDIO DE FORMULARIO *********************************************************************/
                // Cambiamos la URL de destino del formulario, añadiéndole el parámetro con su valor arriba recogido
                
document.forms[0].action "crearModuloCFGMFPO.php?parametro=" valorSeleccionado;
                
// Mandamos el formulario por medio de Javascript
                
document.forms[0].submit();
                
                
/*** REDIRECCIONAMIENTO POR URL *************************************************************************************/
                // Hacemos la redirección de forma manual
//                document.location.href = "crearModuloCFGMFPO.php?parametro=" + valorSeleccionado;
            
}
            else
            {
                
alert ("Seleccione una opción para el select [" idSelect "]");
            }
        }
    
</script>
</head>

<body>
<form name="miFormulario" action="crearModuloCFGMFPO.php" method="post">
    <select id="cNUCFGM">
        <option value="-1">--</option>
        <option value=12>1 de CFGM de auto</option>
        <option value=17>1 de C.F.G.M. de Electrónica</option>
        <option value=26>1 de C.F.G.M. de Motos</option>
    </select>&nbsp;&nbsp; <input name="botonEl" align="right" type="button" value="Añadir módulo" onclick="prepararURLyParametros('cNUCFGM')"><br><br>
    
    
    <select id="cNUCOCINA">
        <option value="-1">--</option>
        <option value=11>1 de Cocina</option>
        <option value=16>1 de Cocina Italiana</option>
        <option value=25>1 de Cocina China</option>
    </select>&nbsp;&nbsp; <input name="botonEl" align="right" type="button" value="Añadir módulo" onclick="prepararURLyParametros('cNUCOCINA')"><br><br>
    <select id="cNUHOSTELERIA">
        <option value="-1">--</option>
        <option value=12>1 de Hosteleria</option>
        <option value=17>1 de Hosteleria y Reposteria</option>
        <option value=26>1 de Hosteleria Helada</option>
    </select>&nbsp;&nbsp; <input name="botonEl" align="right" type="button" value="Añadir módulo" onclick="prepararURLyParametros('cNUHOSTELERIA')"><br><br>
</form>


</body>
</html> 
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 12:38.