Foros del Web » Programando para Internet » Javascript »

ayuda con jump menu!! porfavol

Estas en el tema de ayuda con jump menu!! porfavol en el foro de Javascript en Foros del Web. hola necesito ayuda. tengo un formulario, con un jump menu que tiene las opciones - material - origen - precio y quiero que cuando el ...
  #1 (permalink)  
Antiguo 15/07/2003, 03:51
 
Fecha de Ingreso: marzo-2003
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
Exclamación ayuda con jump menu!! porfavol

hola necesito ayuda.

tengo un formulario, con un jump menu que tiene las opciones

- material
- origen
- precio

y quiero que cuando el usuario seleccione material u origen, le salga un campo de txt en blanco. pero cuando seleccione precio le salga otro jump menu con tres opciones mas.
- menos de 30
- de 30 a 100
- mas de 100

me he roto el coco pero no me sale. agradeceria cualquier ayuda. o dato para solucionar este problema.

alexei.
  #2 (permalink)  
Antiguo 15/07/2003, 14:06
 
Fecha de Ingreso: marzo-2003
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
por favor que alguien diga algo!!!!!!!!!!11111111111
  #3 (permalink)  
Antiguo 15/07/2003, 15:32
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola alexei,


Creo que falta que aportes datos, pues no especificas si el campo de tipo texto que se ha de mostrar haya de ser el mismo o dos distintos. Tampoco especificas si el segundo selector ha de estar o no a la vez con el campo de texto.

Esas son mis dudas. De todas formas te hice un ejemplo, prueba a ver si te sirve o en base a él yá eres capaz de hacerle los cambios que sean oportunos.

Código PHP:
<script>
function 
cambiar(cual,que)
{
if(
cual.selectedIndex == 0){return false}
else
    {
    switch (
cual.value)
        {
        case 
"material" :
            
que.pepe.style.display 'inline';
            
que.precio.style.display 'none';
            break;
        case 
"origen":
            
que.pepe.style.display 'inline';
            
que.precio.style.display 'none';
            break;
        case 
"precio":
            
que.precio.style.display 'inline';
            
que.pepe.style.display 'none';
            break;
        }
    }
}
</script>
</head>

<body>
<form name="form1" method="post" action="">
  <select name="opciones" onchange = "cambiar(this,this.form)">
    <option>Selecciona</option>
    <option value="material">material</option>
    <option value="origen">origen</option>
    <option value="precio">precio</option>
  </select>
  <select name="precio" style="display:none">
    <option>Selecciona</option>
    <option>Menos de 30</option>
    <option>de 30 a 100</option>
    <option>m&aacute;s de 100</option>
  </select>
  <br>
  <input type="text" name="pepe" style="display:none">
</form>
</body> 
Yá me dirás si te sirvió

saludos
  #4 (permalink)  
Antiguo 04/08/2003, 05:18
 
Fecha de Ingreso: marzo-2003
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
gracias

Hola tunait:

gracias por la respuesta. el script me va perfecto, solo que tengo otro problrma. el jump menu y el txt field se tienen que llamar igual, cosas de la base de datos.

no se existe una manera de asignarle un alias al txt field o al jump menu.

pd: lamento el retraso ( cosas de la vacaciones ).

gracias alexei
  #5 (permalink)  
Antiguo 04/08/2003, 08:25
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cita:
. el jump menu y el txt field se tienen que llamar igual
Vale, cual de los dos?
  #6 (permalink)  
Antiguo 05/08/2003, 02:04
 
Fecha de Ingreso: marzo-2003
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
jump menu -- keyword
txt field 1 ----- keyword
txt field 2 -------keyword


todos se tienen que llamar igual. por que forman parte de un buscador, y la variable que recibe se llama keyword.

no se si me explico!!?¿*
  #7 (permalink)  
Antiguo 05/08/2003, 04:43
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
A ver si es esto lo que buscas....

Código PHP:
<script language="JavaScript">

function 
cambiar(cual,que)
{
if(
cual.selectedIndex == 0){return false}
else
    {
    switch (
cual.value)
        {
        case 
"material" :
            
que.keywords[2].style.display 'inline';
            
que.keywords[1].style.display 'none';
            break;
        case 
"origen":
            
que.keywords[2].style.display 'inline';
            
que.keywords[1].style.display 'none';
            break;
        case 
"precio":
            
que.keywords[1].style.display 'inline';
            
que.keywords[2].style.display 'none';
            break;
        }
    }
}
</script>
</head>

<body>
<form name="form1" method="post" action="">
  <select name="keywords" onchange = "cambiar(this,this.form)">
    <option>Selecciona</option>
    <option value="material">material</option>
    <option value="origen">origen</option>
    <option value="precio">precio</option>
  </select>
  <select name="keywords" style="display:none">
    <option>Selecciona</option>
    <option>Menos de 30</option>
    <option>de 30 a 100</option>
    <option>m&aacute;s de 100</option>
  </select>
  <br>
  <input type="text" name="keywords" style="display:none">
</form>
</body> 
  #8 (permalink)  
Antiguo 05/08/2003, 04:47
 
Fecha de Ingreso: marzo-2003
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
2nait:

¡¡¡¡¡¡mil gracias!!!!!!!


alexei
  #9 (permalink)  
Antiguo 13/08/2003, 05:14
 
Fecha de Ingreso: marzo-2003
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
hola tunait:

pues no funciona y he intentado sacarlo yo pero nada, no me sale.


te lo explico otra vez:


tengo un jumpmenu name=gal, con las opciones:

material
origen y
precio

cuando seleccionen material o origen. quiero que aparezca un txt field name=keyword.

y cuando seleccionen precio, quiero que aparezca un jump menu name=keyword.

este es mi gran problema que las opciones que se ocultan y aparecen se tienen que llamar igual por que en la base de datos esta asi y lo tengo que adaptar.

el primer codigo que me pasaste, era perfecto, exepto por el nombre del txt field y el jump.


alexei.
  #10 (permalink)  
Antiguo 18/08/2003, 04:12
 
Fecha de Ingreso: marzo-2003
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
algun alma caritativa que me ayude otra vez, por favor!
  #11 (permalink)  
Antiguo 19/08/2003, 10:48
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola alexei,

supongo que eres consciente que el script lo hice con los nombres que me indicaste

A ver si esto es lo que necesitas
Código PHP:
<script language="JavaScript">

function 
cambiar(cual,que)
{
if(
cual.selectedIndex == 0){return false}
else
    {
    switch (
cual.value)
        {
        case 
"material" :
            
que.keywords[1].style.display 'inline';
            
que.keywords[0].style.display 'none';
            break;
        case 
"origen":
            
que.keywords[1].style.display 'inline';
            
que.keywords[0].style.display 'none';
            break;
        case 
"precio":
            
que.keywords[0].style.display 'inline';
            
que.keywords[1].style.display 'none';
            break;
        }
    }
}
</script>
</head>

<body>
<form name="form1" method="post" action="">
  <select name="gal" onchange = "cambiar(this,this.form)">
    <option>Selecciona</option>
    <option value="material">material</option>
    <option value="origen">origen</option>
    <option value="precio">precio</option>
  </select>
  <select name="keywords" style="display:none">
    <option>Selecciona</option>
    <option>Menos de 30</option>
    <option>de 30 a 100</option>
    <option>m&aacute;s de 100</option>
  </select>
  <br>
  <input type="text" name="keywords" style="display:none">
</form>
</body> 
un saludo

Última edición por tunait; 19/08/2003 a las 10:56
  #12 (permalink)  
Antiguo 20/08/2003, 10:49
 
Fecha de Ingreso: marzo-2003
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
hola tunait.


sigue sin funcionar!!!!!!!!!!!!!!
pero ya se lo que pasa, haber si me puedes ayudar otra vez.


en la parte de los campos ocultos, me toma como referencia el que esta en segundo lugar.

osea.

que pongo el select y luego txt field. y auque yo haya seleccionado el select me envia los datos del txt field.


-- yo selecciono por ejemplo <option>de 30 a 100</option>

<select name="keywords" style="display:none">
<option>Selecciona</option>
<option>Menos de 30</option>
<option>de 30 a 100</option>
<option>m&aacute;s de 100</option>
</select>
<br>

pero me envia los datos del txt field.

<input type="text" name="keywords" style="display:none">



he probado de poner el select en 2º lugar y lo mismo.

<input type="text" name="keywords" style="display:none">

<select name="keywords" style="display:none">
<option>Selecciona</option>
<option>Menos de 30</option>
<option>de 30 a 100</option>
<option>m&aacute;s de 100</option>
</select>
<br>

aunque yo tenga el text field seleccionado, y escriba la palabra que sea, me envia los datos del select.

no se si ha quedado claro *?*


AAAAAAAAAhhhhhhhhhhhhh!!!!!!!!!
hechame una mano please!!!!!!!!!


gracias por la ayuda que me estas dando.


saludos.
  #13 (permalink)  
Antiguo 20/08/2003, 10:49
 
Fecha de Ingreso: marzo-2003
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
hola tunait.


sigue sin funcionar!!!!!!!!!!!!!!
pero ya se lo que pasa, haber si me puedes ayudar otra vez.


en la parte de los campos ocultos, me toma como referencia el que esta en segundo lugar.

osea.

que pongo el select y luego txt field. y auque yo haya seleccionado el select me envia los datos del txt field.


-- yo selecciono por ejemplo <option>de 30 a 100</option>

<select name="keywords" style="display:none">
<option>Selecciona</option>
<option>Menos de 30</option>
<option>de 30 a 100</option>
<option>m&aacute;s de 100</option>
</select>
<br>

pero me envia los datos del txt field.

<input type="text" name="keywords" style="display:none">



he probado de poner el select en 2º lugar y lo mismo.

<input type="text" name="keywords" style="display:none">

<select name="keywords" style="display:none">
<option>Selecciona</option>
<option>Menos de 30</option>
<option>de 30 a 100</option>
<option>m&aacute;s de 100</option>
</select>
<br>

aunque yo tenga el text field seleccionado, y escriba la palabra que sea, me envia los datos del select.

no se si ha quedado claro *?*


AAAAAAAAAhhhhhhhhhhhhh!!!!!!!!!
hechame una mano please!!!!!!!!!


gracias por la ayuda que me estas dando.


saludos.
  #14 (permalink)  
Antiguo 28/08/2003, 13:27
 
Fecha de Ingreso: marzo-2003
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
tunait


¡¡¡te quiero, por favor ayudame!!!!!!!!!
  #15 (permalink)  
Antiguo 29/08/2003, 08:00
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cita:
no se si ha quedado claro *?*
pues no

Dime dónde puedo verlo en marcha y así averiguar dónde está el problema.
  #16 (permalink)  
Antiguo 16/11/2005, 12:09
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Relacionado al tema, Tunait, quizá me puedas ayudar con esto:

Código:
<select name="producto1" id="select">
                  <?php
include ("conexion.php");
$link = mysql_connect($host, $user, $pass); 
mysql_select_db($base, $link); 
$result = mysql_query("SELECT DISTINCT producto FROM productos order by producto asc", $link); 
while ($row=mysql_fetch_array($result))
{
echo "<option value>".$row['producto']."</option>";
}
?>
              </select>
Sólo que habría que convertir en jumpmenu a este select común.
Quiero que cuando se seleccione uno de los elementos, aparezca otro menú (no de salto) con lo siguiente:
Código:
<select name="presenta1" id="select9">
    <?php
$pro1 = $_POST['producto1'];
include ("conexion.php");
$link = mysql_connect($host, $user, $pass); 
mysql_select_db($base, $link); 
$result = mysql_query("SELECT presentacion FROM productos where producto='$pro1'", $link); 
while ($row=mysql_fetch_array($result))
{
$presen = $row['presentacion'];
$mi_array = explode("-",$presen); 
foreach($mi_array as $value) 
echo "<option value>".$value."</option>";
}
?>

              </select>
para, finalmente, asignar un valor de unidad en un text field común. La idea es que haya 10 filas de esto para que el cliente pueda pedir hasta diez productos cada vez, y se envíe por mail via php.

¿Podrás ayudarme con el código de JS combinado con PHP?

Gracias!
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #17 (permalink)  
Antiguo 18/11/2005, 09:01
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
alexei ,eso pasa por ponerle el mismo nombre ,si pusieses trescientos con el mismo nombre siempre se mandaria el ultimo.
¿ podrias explicar porque tienen que tener el mismo nombre, y cuales son los datos que se envian ?
No se si te habras dado cuenta ,pero el problema es que tienes un conflicto de nombres, y es ahi por donde deberias empezar, modificando los nombres en la base de datos y/o dando nombres distintos a los campos ,porque asi es logico ,y hasta preciso, que no funke.
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 11:53.