Foros del Web » Programando para Internet » PHP »

Pre-Selecciona opción campo select automático?

Estas en el tema de Pre-Selecciona opción campo select automático? en el foro de PHP en Foros del Web. Buenas buenas!!! Bueno, la idea e asi: tengo un formulario unicamente con un campo select. Ahora para activarlo, tiene un botón, pero la idea es ...
  #1 (permalink)  
Antiguo 19/12/2005, 08:58
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 13 años
Puntos: 1
Pre-Selecciona opción campo select automático?

Buenas buenas!!!

Bueno, la idea e asi:
tengo un formulario unicamente con un campo select. Ahora para activarlo, tiene un botón, pero la idea es q sea automatico, y que al cambiar (OnChange) me active otro formulario de la pagina, y segun cambie (3 o 4 opciones) me valla cambiando por ejemplo con un switch case que en cada caso me escriba un html distinto de formulario.

Alguien sabe como lograrlo??

Muchisimas gracias!!!

Ariel.- o.0
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio
  #2 (permalink)  
Antiguo 19/12/2005, 09:04
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 0
??????????
  #3 (permalink)  
Antiguo 19/12/2005, 09:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Con Javascript y algo de DHTML lo puedes conseguir .. sin recargar la página y sin PHP por médio.

Si hay algún dato que obtener del servidor en todo este proceso podrías usar eso mismo combinado con técnicas de "Ajax" (tenemos un foro para tal fin).

Y si no te importa "recargar" toda la página ante cada cambio de tu "select" .. en ese caso puedes suar sólo HTML+PHP y ese poco de javascript para el "onChange" (evento).

Decidete.

Un saludo,
  #4 (permalink)  
Antiguo 19/12/2005, 09:16
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 13 años
Puntos: 1
Pues, no Cluster, no molesta recargar toda la pagina, pues hay poco contenido, y nada de imagenes
El punto es que al estar haciendolo con Javascript, tengo que darle todas las lineas del nuevo documento a los "case" con un "document.write" y realmente son demasiadas lineas.
Se que con PHP puedo armar los case con un "echo" y listo, agrega lo que necesito, pero no se como hacerlo automatico.

Lily, veo que no me exprese nada bien.
Nuevamente:
Tengo actualmente un campo select de formulario. Este, cada vez que se le da "enviar" segun lo que se haya seleciconado, abre otro formulario para una busqueda.
(los case son todos iguales... son 5)
Asi:

Código PHP:
<center>
<form name="buscador" method="post" action="logged.php">
  <table width="39%" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td align="center" valign="middle">Buscar en:
        <select name="campo">
          <option value="0">Fecha de Llegada </option>
          <option value="1">Fecha de Alta </option>
          <option value="2">House </option>
          <option value="3">Master </option>
          <option value="4">Nro. de Operci&oacute;n </option>
          <option value="5">Vuelo </option>
        </select>
        <input type="submit" value="Enviar" name="enviar" /></td>
    </tr>
  </table>
  </form>
</center>


<?PHP
$i 
$_POST['campo'];

switch (
$i):
     case 
0:
        echo 
"<table width='39%' border='0' align='center' cellpadding='0' cellspacing='0'>
    <tr>
      <td align='center' valign='middle'><form name='form2' method='post' action=''>
  <div align='center'><br>
    Fecha de Llegada </div>
  <table width='70%' border='0' align='center' cellpadding='2' cellspacing='0'>
    <tr>
      <td width='33%'></td>
      <td width='2%'></td>
      <td width='65%'></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td><div align='right'>Desde</div></td>
      <td></td>
      <td><input name='textfield4' type='text' value='AAAA-MM-DD'>
      Ej.: 2005-05-33</td>
    </tr>
    <tr>
      <td><div align='right'>Hasta</div></td>
      <td></td>
      <td><input name='textfield22' type='text' value='AAAA-MM-DD'>
      Ej.: 2005-05-33 </td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </table>
  <p>&nbsp;</p>
</form></td>
    </tr>
  </table>"
;
        break;  
//fecha de llegada
     
case 1:
        echo 
"<form name='form2' method='post' action=''>
  <div align='center'><br>
    Fecha de Alta </div>
  <table width='70%' border='0' align='center' cellpadding='2' cellspacing='0'>
    <tr>
      <td width='33%'></td>
      <td width='2%'></td>
      <td width='65%'></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td><div align='right'>Desde</div></td>
      <td></td>
      <td><input name='textfield4' type='text' value='AAAA-MM-DD'>
        Ej.: 2005-05-33</td>
    </tr>
    <tr>
      <td><div align='right'>Hasta</div></td>
      <td></td>
      <td><input name='textfield22' type='text' value='AAAA-MM-DD'>
        Ej.: 2005-05-33 </td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </table>
  <p>&nbsp;</p>
</form>"
;
        break;  
//fecha de alta
     
case 2:
        echo 
"<form name='form2' method='post' action=''>
  <p align='center'>&nbsp;</p>
  <table width='70%' border='0' align='center' cellpadding='2' cellspacing='0'>
    <tr>
      <td width='33%'></td>
      <td width='2%'></td>
      <td width='65%'></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td><div align='right'>Número de House </div></td>
      <td></td>
      <td><input name='textfield3' type='text' value='nro house'>
        Ej.: </td>
    </tr>

    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </table>
  <p>&nbsp;</p>
</form>"
;
        break;  
//house
     
case 3:
        echo 
"<form name='form2' method='post' action=''>
  <p align='center'>&nbsp;</p>
  <table width='70%' border='0' align='center' cellpadding='2' cellspacing='0'>
    <tr>
      <td width='33%'></td>
      <td width='2%'></td>
      <td width='65%'></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td><div align='right'>Número  de Master </div></td>
      <td></td>
      <td><input name='textfield32' type='text' value='nro master'>
        Ej.: </td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </table>
  <p>&nbsp;</p>
</form>"
;
        break;  
//master
     
case 4:
        echo 
"<form name='form2' method='post' action=''>
  <p align='center'>&nbsp;</p>
  <table width='70%' border='0' align='center' cellpadding='2' cellspacing='0'>
    <tr>
      <td width='33%'></td>
      <td width='2%'></td>
      <td width='65%'></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td><div align='right'>Número de Operación  </div></td>
      <td></td>
      <td><input name='textfield322' type='text' value='nro operacion'>
        Ej.: </td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </table>
  <p>&nbsp;</p>
</form>"
;
        break;  
//nro operacion
     
case 5:
        echo 
"<form name='form2' method='post' action=''>
  <p align='center'>&nbsp;</p>
  <table width='70%' border='0' align='center' cellpadding='2' cellspacing='0'>
    <tr>
      <td width='33%'></td>
      <td width='2%'></td>
      <td width='65%'></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td><div align='right'>Número de Vuelo </div></td>
      <td></td>
      <td><input name='textfield322' type='text' value='nro vuelo'>
        Ej.: </td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </table>
  <p>&nbsp;</p>
</form>"
;
        break;  
//vuelo
endswitch; 
?>
Lo que estoy necesitando es que no sea necesario utilizar el boton de enviar para que me cambie el contenido del formulario, sino que sea automatico, como si fuese un evento "OnChange" de javascript.
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio
  #5 (permalink)  
Antiguo 19/12/2005, 09:24
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 0
prueba con esto :
<select name="campo" onBlur="logged.php">

Última edición por lily_cv; 19/12/2005 a las 09:31
  #6 (permalink)  
Antiguo 19/12/2005, 09:58
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 0
creo que no funciona verdad pero tegno un codigo dame unos min
  #7 (permalink)  
Antiguo 19/12/2005, 09:59
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 13 años
Puntos: 1
no funciono Lily

con el onBLur, ya nisiquiera me cambia el form :o(

Sigo buscando, te agradezco muchisimo!!!!!!!
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio
  #8 (permalink)  
Antiguo 19/12/2005, 11:07
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 0
espera si es que es un codigo en java dame unos min mas
  #9 (permalink)  
Antiguo 19/12/2005, 11:30
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 0
Código PHP:
<head>
<SCRIPT LANGUAGE="JavaScript">
function Enviar() {
document.buscador.submit();
}
</script>
<? $Campo $Campo;?>
</head>

<body>
<center> 
<form name="buscador" method="post" action="logged.php">
  <table width="39%" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td align="center" valign="middle">Buscar en:
       <SELECT NAME="Campo" onChange="Enviar()">
           <option value="0" <? if($Campo== 0){ echo selected ;}?>>Seleccione 
          <option value="1" <? if($Campo== 1){ echo selected ;}?>>Fecha de Llegada
          <option value="2" <? if($Campo== 2){ echo selected ;}?>>Fecha de Alta
          <option value="3" <? if($Campo== 3){ echo selected ;}?>>House
          <option value="4" <? if($Campo== 4){ echo selected ;}?>>Master
          <option value="5" <? if($Campo== 5){ echo selected ;}?>>Nro. de Opercion
          <option value="6" <? if($Campo== 6){ echo selected ;}?>>Vuelo
        </select> 
        </td> 
    </tr> 
  </table> 
  </form> 
</center> 
<?PHP 
$i 
$_POST['Campo']; 

switch (
$i): 
     case 
1
        echo 
"<table width='39%' border='0' align='center' cellpadding='0' cellspacing='0'> 
   <tr> 
      <td align='center' valign='middle'>
<form name='form2' method='post' action=''> 
      <div align='center'><br> 
        Fecha de Llegada </div> 
          <table width='70%' border='0' align='center' cellpadding='2' cellspacing='0'> 
        <tr> 
            <td width='33%'></td> 
              <td width='2%'></td> 
              <td width='65%'></td> 
        </tr> 
    <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
    </tr> 
    <tr> 
      <td><div align='right'>Desde</div></td> 
      <td></td> 
      <td><input name='textfield4' type='text' value='AAAA-MM-DD'> 
      Ej.: 2005-05-33</td> 
    </tr> 
    <tr> 
      <td><div align='right'>Hasta</div></td> 
      <td></td> 
      <td><input name='textfield22' type='text' value='AAAA-MM-DD'> 
      Ej.: 2005-05-33 </td> 
    </tr> 
    <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
    </tr> 
  </table> 
  <p>&nbsp;</p> 
</form></td> 
    </tr> 
  </table>"

        break;  
//fecha de llegada 
     
case 2
        echo 
"<form name='form2' method='post' action=''> 
  <div align='center'><br> 
    Fecha de Alta </div> 
  <table width='70%' border='0' align='center' cellpadding='2' cellspacing='0'> 
    <tr> 
      <td width='33%'></td> 
      <td width='2%'></td> 
      <td width='65%'></td> 
    </tr> 
    <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
    </tr> 
    <tr> 
      <td><div align='right'>Desde</div></td> 
      <td></td> 
      <td><input name='textfield4' type='text' value='AAAA-MM-DD'> 
        Ej.: 2005-05-33</td> 
    </tr> 
    <tr> 
      <td><div align='right'>Hasta</div></td> 
      <td></td> 
      <td><input name='textfield22' type='text' value='AAAA-MM-DD'> 
        Ej.: 2005-05-33 </td> 
    </tr> 
    <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
    </tr> 
  </table> 
  <p>&nbsp;</p> 
</form>"

        break;  
//fecha de alta 
     
case 3
        echo 
"<form name='form2' method='post' action=''> 
  <p align='center'>&nbsp;</p> 
  <table width='70%' border='0' align='center' cellpadding='2' cellspacing='0'> 
    <tr> 
      <td width='33%'></td> 
      <td width='2%'></td> 
      <td width='65%'></td> 
    </tr> 
    <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
    </tr> 
    <tr> 
      <td><div align='right'>Número de House </div></td> 
      <td></td> 
      <td><input name='textfield3' type='text' value='nro house'> 
        Ej.: </td> 
    </tr> 

    <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
    </tr> 
  </table> 
  <p>&nbsp;</p> 
</form>"

        break;  
//house 
     
case 4
        echo 
"<form name='form2' method='post' action=''> 
  <p align='center'>&nbsp;</p> 
  <table width='70%' border='0' align='center' cellpadding='2' cellspacing='0'> 
    <tr> 
      <td width='33%'></td> 
      <td width='2%'></td> 
      <td width='65%'></td> 
    </tr> 
    <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
    </tr> 
    <tr> 
      <td><div align='right'>Número  de Master </div></td> 
      <td></td> 
      <td><input name='textfield32' type='text' value='nro master'> 
        Ej.: </td> 
    </tr> 
    <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
    </tr> 
  </table> 
  <p>&nbsp;</p> 
</form>"

        break;  
//master 
     
case 5
        echo 
"<form name='form2' method='post' action=''> 
  <p align='center'>&nbsp;</p> 
  <table width='70%' border='0' align='center' cellpadding='2' cellspacing='0'> 
    <tr> 
      <td width='33%'></td> 
      <td width='2%'></td> 
      <td width='65%'></td> 
    </tr> 
    <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
    </tr> 
    <tr> 
      <td><div align='right'>Número de Operación  </div></td> 
      <td></td> 
      <td><input name='textfield322' type='text' value='nro operacion'> 
        Ej.: </td> 
    </tr> 
    <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
    </tr> 
  </table> 
  <p>&nbsp;</p> 
</form>"

        break;  
//nro operacion 
     
case 6
        echo 
"<form name='form2' method='post' action=''> 
  <p align='center'>&nbsp;</p> 
  <table width='70%' border='0' align='center' cellpadding='2' cellspacing='0'> 
    <tr> 
      <td width='33%'></td> 
      <td width='2%'></td> 
      <td width='65%'></td> 
    </tr> 
    <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
    </tr> 
    <tr> 
      <td><div align='right'>Número de Vuelo </div></td> 
      <td></td> 
      <td><input name='textfield322' type='text' value='nro vuelo'> 
        Ej.: </td> 
    </tr> 
    <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
    </tr> 
  </table> 
  <p>&nbsp;</p> 
</form>"

        break;  
//vuelo 
endswitch;  
?> 


</body>
</html>

Última edición por Cluster; 19/12/2005 a las 12:49
  #10 (permalink)  
Antiguo 19/12/2005, 11:31
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 0
espero que te sirva cambia lo que he cambiado ;)
  #11 (permalink)  
Antiguo 19/12/2005, 11:36
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 12 años, 4 meses
Puntos: 0
Coloca el Select como:

Código PHP:
<select name="variable" onChange="this.form.submit()>"
Saludos
  #12 (permalink)  
Antiguo 19/12/2005, 11:38
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 0
claro tb es igual ;)
  #13 (permalink)  
Antiguo 19/12/2005, 12:44
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 13 años
Puntos: 1
Y la tribuna se alza en clamor hacia lily!!!!!!!!!!!!!!




Muy bueno lyli!!!!

funciono!!!!!!!

Por supuesto ahora me toca retocar bastante para que se acople a lo que necesito, pero bueno!

Les agradezco a todos!!!!!

Ariel.-
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio
  #14 (permalink)  
Antiguo 19/12/2005, 12:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
(Me tomé la libertad de editar el título del mensaje para posibles usos del buscador a futuro).

Un saludo,
  #15 (permalink)  
Antiguo 19/12/2005, 13:11
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 0
Gracias por los aplausos jeje
  #16 (permalink)  
Antiguo 19/12/2005, 13:45
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 13 años
Puntos: 1
excelente lo suyo señor cluster. siempre es excelente
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio
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:19.