Foros del Web » Programando para Internet » PHP »

Boton para combobox

Estas en el tema de Boton para combobox en el foro de PHP en Foros del Web. Bueno, llevo varios dias peleando con este tema ya que nunca habia trabajo con esta clase de elementos, y tengo que decir que gracias a ...
  #1 (permalink)  
Antiguo 13/12/2008, 11:33
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 6 meses
Puntos: 1
Boton para combobox

Bueno, llevo varios dias peleando con este tema ya que nunca habia trabajo con esta clase de elementos, y tengo que decir que gracias a la ayuda de la gente he podido avanzar con el tema. Ahora me surgen más dudas, ya que desconozco hasta donde alcanzan las posibilidades de un combobox. La cuestión es la siguiente, ya se que puedo definir varias variables para un valor de un combobox tal que así:


Código :

Código HTML:
<form name="form1" method="post" action="">
<select name="select">
<option value="valor=303,media=6.20">CHARGE 6.20</option>
</select> 
<input name="submit" type="submit" value="VER" />
</form> 
Donde luego puedo recoger esos valores en un $POST con $valor y $medida. La cuestión es la siguiente. Si se pueden poner variables a un item de un combobox, se le podría decir que al seleccionarlo nos salga un botón con un vinculo(por ej. "www.vinculo.es")? De ser así, alguien me da una idea de como sería o me explica cómo sería el código. Muchas gracias a todos de antemano.
  #2 (permalink)  
Antiguo 13/12/2008, 11:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Boton para combobox

para eso necesitas Javascript mas que PHP ....

pero, a que te refieres con... un botón con vinculo??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/12/2008, 12:17
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Boton para combobox

Nada, me refiero a que cuando selecciones la opción "CHARGE 6.20" del combobox, aparezca por algún lado un botón que al presionarlo, mediante un vínculo, me envie a una dirección. Tampoco tiene porqué ser necesariamente un botón, puede ser perfectamente un texto con un vínculo o una imagen. Simplemente es saber cómo se podría hacer esto al seleccionar una opción del combobox.

En el caso de haber varios items en el combobox para seleccionar, cada uno tendria su propio botón, imagen o texto con su vinculo en cuestión.

Más o menos entiendes a lo que me refiero pateketrueke?
  #4 (permalink)  
Antiguo 13/12/2008, 12:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Boton para combobox

Tema trasladado a Javascript.
  #5 (permalink)  
Antiguo 13/12/2008, 12:43
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Boton para combobox

Fijate si te sirve:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Documento sin t&iacute;tulo</title>
</
head>

<
body>
<
form name="form1" method="post" action="">
<
select name="select" onchange="if(!this.selectedIndex){PP.disabled=1;PP.value='...';return;};PP.disabled=0;var l=this[[this.selectedIndex]].getAttribute('title');PP.value='Ir a '+l;PP.onclick=function(){window.location=l;}">
<
option>--------</option>
<
option value="valor=303,media=6.20" title="http://www.google.com">CHARGE 6.20</option>
<
option value="valor=n,media=n" title="http://www.yahoo.com">FOO 7.0</option>

</
select
<
input name="PP" type="button" value="..." disabled="disabled" />
</
form>
</
body>
</
html
  #6 (permalink)  
Antiguo 13/12/2008, 13:18
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Boton para combobox

Eso está genial panino. El problema esque ya tengo un form hecho donde al seleccionar uno de los items del combobox y apretar el boton para enviarlo, me muestra unas variables. Realmente lo que estaria genial es que además de verse las vaiables, me agregase ese nuevo botón. Esto sepodría o es pedir ya demasiado?

Este es el código que uso:

Código HTML:
<?php
if (isset($_POST['select']))
{
    $datos= explode(',',$_POST['select']);
    for($i=0;$i<sizeof($datos);$i++)
    {
        $tmp= explode('=',$datos[$i]);
        $var[$tmp[0]]= $tmp[1];
    }
  extract($var);
 
  $txt= "<font size='6' font color=\"red\">"."Precio: $valor\n"."</font>";
  $txt.= "<font color=\"green\">"."Valor: $media\n"."</font>";

  echo nl2br($txt);
} //fin de si POST[select]
?>
          </p> </td>
        </tr>
      <tr bgcolor="#FFFFFF">
        <td width="170" height="80" align="left" valign="bottom">
<form name="form1" method="post" action="">
  <select name="select">
    <option value="valor=303,media=6.20">CHARGE 6.20</option>
  </select>            
  <input name="submit" type="submit" value="VER" />
</form> 
Cómo se integraria tu código para que además de ocurrir lo que ya ocurre en este form, me agrege el botón?
P.D: he intentado varias cosas ya mezclando tu código y el mio pero sin resultados satisfactorios
  #7 (permalink)  
Antiguo 13/12/2008, 14:11
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Boton para combobox

En ese caso no veo para qué usar javascript. Si entendí lo que necesitás sería así:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?php
if (isset($_POST['select']))
{
    
$datosexplode(',',$_POST['select']);
    for(
$i=0;$i<sizeof($datos);$i++)
    {
        
$tmpexplode('=',$datos[$i]);
        
$var[$tmp[0]]= $tmp[1];
    }
  
extract($var);
 
  
$txt"<font size='6' font color=\"red\">"."Precio: $valor\n"."</font>";
  
$txt.= "<font color=\"green\">"."Valor: $media\n"."</font>";

  echo 
nl2br($txt);
//fin de si POST[select]
?>
          </p>      </td>
        </tr>
      <tr bgcolor="#FFFFFF">
        <td width="170" height="80" align="left" valign="bottom">
<form name="form1" method="post" action="<?php if(isset($ruta) && !empty($ruta))echo $ruta; else  echo basename($_SERVER['PHP_SELF']);?>">
  <select name="select">
    <option value="valor=303,media=6.20,ruta=http://www.google.com">CHARGE 6.20</option>
  </select>            
  <input name="submit" type="submit" value="VER" />
  <?php if(isset($ruta) && !empty($ruta)){ ?><input name="Submit2" type="submit" id="Submit2" value="Ir a <?php echo $ruta ?>" />
  <?php ?>
</form>
</body>
</html>
O así:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?php
if (isset($_POST['select']))
{
    
$datosexplode(',',$_POST['select']);
    for(
$i=0;$i<sizeof($datos);$i++)
    {
        
$tmpexplode('=',$datos[$i]);
        
$var[$tmp[0]]= $tmp[1];
    }
  
extract($var);
 
  
$txt"<font size='6' font color=\"red\">"."Precio: $valor\n"."</font>";
  
$txt.= "<font color=\"green\">"."Valor: $media\n"."</font>";

  echo 
nl2br($txt);
//fin de si POST[select]
?>
          </p>      </td>
        </tr>
      <tr bgcolor="#FFFFFF">
        <td width="170" height="80" align="left" valign="bottom">
<form name="form1" method="post" action="<?php if(isset($ruta) && !empty($ruta))echo $ruta; else  echo basename($_SERVER['PHP_SELF']);?>">
  <select name="select">
    <option value="valor=303,media=6.20,ruta=http://www.google.com">CHARGE 6.20</option>
  </select>            
  
  <?php if(isset($ruta) && !empty($ruta)){ ?><input name="Submit2" type="submit" id="Submit2" value="Ir a <?php echo $ruta ?>" />
  <?php }else{ ?><input name="submit" type="submit" value="VER" /><?php ?>
</form>
</body>
</html>

Última edición por Panino5001; 13/12/2008 a las 14:18 Razón: Mostrar otra opción
  #8 (permalink)  
Antiguo 13/12/2008, 17:07
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Boton para combobox

Enhorabuena Panino5001, de verdad, que respuesta más buena. Funciona 100%. Sin rodeos ni acertijos XD
  #9 (permalink)  
Antiguo 16/12/2008, 06:05
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Boton para combobox

En ese caso, probá esto:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>
<script>
onload=function(){
    if(window.name.indexOf('itemSeleccionado_')!=-1){
        var sel=window.name.split('itemSeleccionado_').pop();
        for(var i=0,l;l=document.getElementById('pp').options[i];i++){
            if(i==parseInt(sel))
                l.selected=1;
            else
                l.selected=0;    
        }
    }
}
</script>
<body>
<?php
if (isset($_POST['select']))
{
    
$datosexplode(',',$_POST['select']);
    for(
$i=0;$i<sizeof($datos);$i++)
    {
        
$tmpexplode('=',$datos[$i]);
        
$var[$tmp[0]]= $tmp[1];
    }
  
extract($var);
 
  
$txt"<font size='6' font color=\"red\">"."Precio: $valor\n"."</font>";
  
$txt.= "<font color=\"green\">"."Valor: $media\n"."</font>";

  echo 
nl2br($txt);
//fin de si POST[select]
?>
          </p>      </td>
        </tr>
      <tr bgcolor="#FFFFFF">
        <td width="170" height="80" align="left" valign="bottom">
<form name="form1" method="post" action="<?php if(isset($ruta) && !empty($ruta))echo $ruta; else  echo basename($_SERVER['PHP_SELF']);?>">
  <select id="pp" name="select" onchange="window.name='itemSeleccionado_'+this.selectedIndex;window.location='?'+new Date().getTime()">
    <option value="valor=303,media=6.20,ruta=http://www.google.com">CHARGE 6.20</option>
    <option value="valor=2,media=6.20,ruta=http://www.yahoo.com.com">dos</option>
    <option value="valor=3,media=6.20,ruta=http://www.forosdelweb.com">tres</option>
    <option value="valor=4,media=6.20,ruta=http://www.php-hispano.net.com">cuatro</option>
  </select>            
  
  <?php if(isset($ruta) && !empty($ruta)){ ?><input name="Submit2" type="submit" id="Submit2" value="Ir a <?php echo $ruta ?>" />
  <?php }else{ ?><input name="submit" type="submit" value="VER" /><?php ?>
</form>
</body>
</html>
Es importante la relación entre el id del select y la función que se ejecuta al cargar la página.
  #10 (permalink)  
Antiguo 16/12/2008, 06:38
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Boton para combobox

Especial!!!, no tengo palabras. Si no fuera por la gente que le apasiona lo que hace, los cazurros como yo nunca tendriamos oportunidad de comprender estas cosas. Gracias panino por tu genial respuesta y por tu nobleza XD
  #11 (permalink)  
Antiguo 16/12/2008, 06:47
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Boton para combobox

M e alegra que te sirva.
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:25.