Foros del Web » Programando para Internet » PHP »

Selects y text

Estas en el tema de Selects y text en el foro de PHP en Foros del Web. Hola amigos, he buscado aqui dentro y no he podido encontrar solucion a mi duda. Es algo pequeño pero que me tiene de cabeza, pasa ...
  #1 (permalink)  
Antiguo 23/02/2006, 13:54
 
Fecha de Ingreso: septiembre-2004
Mensajes: 27
Antigüedad: 13 años, 3 meses
Puntos: 0
Selects y text

Hola amigos, he buscado aqui dentro y no he podido encontrar solucion a mi duda. Es algo pequeño pero que me tiene de cabeza, pasa lo siguiente: Tengo un formulario con varios campos text y un par de selects dinamicos o dependientes. Lo hago con una funcion Javascript que recarga el formulario, pero cuando cliqueo en los datos de los selects, los texts de antes quedan en blanco, se pierde la informacion que habia escrito. No se si pueda haber una solucion sencilla a eso, aqui un poco de mi codigo para que lo vean

Código PHP:
<head>
<script language="JavaScript">
function recarga(form)
{
form.submit();
}
</script>
</head>
<body>
<h2 align="center">Resultado Beneficios</h2>

<form name="beneficios"  action="graba.php" method="post">
  
  <table width="69%" border="1">
<td><input name="di_rut" type="text" size="12">
        - 
        <input name="dg_digito_verificador" type="text" size="5"> </td>
    </tr>
    <tr> 
      <td><b>Nombre</b></td>
      <td><input name="nombre" type="text" size="50"> </td>
    </tr>
    <tr> 
      <td><strong>Beneficio</strong></td>
      <td> 

       <?
        
include ("encabezado.php");
$sSQL="SELECT cod_tipo_benef, tipo_benef FROM t_Tipo_Benef ORDER BY cod_tipo_benef";
$result=mysql_db_query($db,$sSQL);

echo 
'<select name="beneficio" onChange="javascript:recarga(this.form);">';
echo 
"<option>-- Seleccione el beneficio--</option>";
while (
$row=mysql_fetch_array($result))
{   
    if (
$row['cod_tipo_benef'] == $beneficio)
    {    echo 
"<option value='".$row['cod_tipo_benef']."' selected>".$row['tipo_benef']."</option>"
    } 
    else 
    {    echo 
"<option value='".$row['cod_tipo_benef']."'>".$row['tipo_benef']."</option>"
    } 

echo 
"</select>";
?>

      </td>
    </tr>
    <tr> 
      <td><strong>Detalle</strong></td>
      <td> 
        <?
$sSQL2
="SELECT cod_sub_benef, detalle From t_Sub_Benef WHERE cod_tipo_benef='$beneficio'";
$result=mysql_db_query($db,$sSQL2);
echo 
'<select name="sub_beneficio" onChange="javascript:recarga(this.form);">';
echo 
"<option>-- sub_beneficio--</option>";

while (
$row=mysql_fetch_array($result))
{   
    if (
$row['cod_sub_benef'] == $sub_beneficio)
    {    echo 
"<option value='".$row['cod_sub_benef']."' selected>".$row['detalle']."</option>"
    }
    else 
    {    echo 
"<option value='".$row['cod_sub_benef']."'>".$row['detalle']."</option>"
    } 

echo 
"</select>";
?>

</table>

  <p><input name="boton1" type="submit" value="Ingresar"> <INPUT TYPE="reset" VALUE=" Limpiar">
</form>

el html no lo puse en etiqueta
Ojala me puedan ayudar para salir de este cachito rapido...gracias!
  #2 (permalink)  
Antiguo 23/02/2006, 14:02
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
Lo que podrias es cachar el valor de dichos campos con $_POST y despues asignar el value de dicho post.

por ejemplo

Código HTML:
<input name="dg_digito_verificador" type="text" size="5" value="<?php $_POST['dg_digito_verificador']"> </td> 
  #3 (permalink)  
Antiguo 23/02/2006, 14:09
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Si tu tienes esto:

Código HTML:
 <form name="algo" action="misma_pagina" method="post">
       <input type="text" name="texto" value="">
   </form> 
Y luego escribes un valor dentro del textbox y haces un submit, php crerá una variable llamada $_POST['texto'] que contendrá lo que hayas escrito en el textbox, por tanto, para que mantenga ese valor escrito al recargar, debes escribir el contenido de $_POST['texto'] en la propiedad value del textbox.
Es decir, el codigo de arriba, quedaría asi:


Código PHP:
   <form name="algo" action="misma_pagina" method="post">
       <input type="text" name="texto" value="<?php echo $_POST['text']?>">
   </form>
  #4 (permalink)  
Antiguo 23/02/2006, 14:19
 
Fecha de Ingreso: septiembre-2004
Mensajes: 27
Antigüedad: 13 años, 3 meses
Puntos: 0
merf, era sencillo

me resultó
la segunda respuesta de claudiovega está correcta, gracias!!




prometo no molestar mas con pequeñeces jeje :P
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 16:50.