Foros del Web » Programando para Internet » PHP »

Mantener valor de caja de texto al seleccionar opcion de lista en un formulario

Estas en el tema de Mantener valor de caja de texto al seleccionar opcion de lista en un formulario en el foro de PHP en Foros del Web. Hola amigos!.. estoy capturando datos en un formulario como por ejemplo el id de un cliente y su categoria de auto pero despues eligo de ...
  #1 (permalink)  
Antiguo 08/06/2007, 10:54
Avatar de MariaElenaSolís22  
Fecha de Ingreso: agosto-2006
Ubicación: Mty., Nuevo León, Méx.
Mensajes: 88
Antigüedad: 17 años, 7 meses
Puntos: 0
Mantener valor de caja de texto al seleccionar opcion de lista en un formulario

Hola amigos!.. estoy capturando datos en un formulario como por ejemplo el id de un cliente y su categoria de auto pero despues eligo de un select el tipo de marca de un auto (que el cliente desea registrar) y en base a este valor se ejecuta una consulta de mysql y cuyo resultado son los modelos de la marca seleccionada los cuales los paso a otro select.. mi problema aqui es que tanto las cajas de texto del id del cliente como su tipo de cliente se limpian al seleccionar la marca y mostrar la consulta en mi otra lista..espero me puedan ayudar ya que es urgente..¿que puedo hacer para mantener estos datos?

Anteriormente trate de pasar los valores de mis cajas de texto a otras pero de todos modos no me sirve de nada ya k mis cajas de texto id del cliente y categoria de auto se borran

/*estas son las funciones para marcas y estados*/

<?php
include_once('fuente/Global.php');


$cadena_consulta_estados="select Num_estado, Nombre_Edo from estados"; /*cadena de consulta de la tabla estados*/
$consulta_estados=mysql_query($cadena_consulta_est ados) or die(mysql_error()); /*ejecucion de la consulta de estados*/


$cadena_cons_Marca="select IdMarca,Descripcion from marcas";
$consulta_cons_Marca=mysql_query($cadena_cons_Marc a) or die (mysql_error());
$n=mysql_num_rows($consulta_cons_Marca);




function consultar_modelo($i_m){

$cadena_cons_modelo="select IdModelo,IdMarca,Descripcion from modelos_marcas where IdMarca='".$i_m."'";
$consulta_cons_modelo=mysql_query($cadena_cons_mod elo) or die (mysql_error());
$m=mysql_num_rows($consulta_cons_modelo);


if ($m!=0){
echo "<select name='i_mod_marca'>","<option value='0' 'selected';>Seleccione El Modelo Del Auto","</option>";
while ($row1=mysql_fetch_array($consulta_cons_modelo,MYS QL_NUM))
{
$id_modelo=$row1['0'];
$nommod=$row1['1'];
$DescMod=$row1['2'];
?><option value="<?php echo $id_modelo;?>"<?php if($_REQUEST['i_mod_marca']==$id_modelo) { echo "selected"; }?>><?php echo $DescMod;?></option><?php

}


}
else{

echo "<select name='i_mod_marca'>";
echo "<option>No Existen Modelos De Esta Marca..","</option>";


}

echo "</select>";
mysql_close();
}

$cadena_cons_idauto="select * from autos order by IdAuto desc";
$cons_idauto=mysql_query($cadena_cons_idauto) or die (mysql_error());

$row=mysql_fetch_array($cons_idauto,MYSQL_NUM);
if (empty ($row)){

for($i=0; $i<=1; $i++){
$m=$row['0'];
}

$cont_auto=$m+1;
}

else{
for($i=0; $i<=1; $i++){
$m=$row['0'];
}

$cont_auto=$m+1;
}
?>

<form name="autos" method="get" action="RegAutos.php" enctype="multipart/form-data" onSubmit="" >

<h2 align="center">REGISTRO DE AUTO
</h2>
<table width="796" height="360" cellpadding="0" cellspacing="0" align="center">
<tr>
<th width="359" class="style5"><div align="left">Id Del Auto: <br />
<input type="text" name="IdAuto" size="30" maxlength="18" value="<?php echo $cont_auto;?>" readonly="readonly" />
</div></th>
<td width="248" height="55" class="style5">Color:<br />
<input type="text" name="Color" size="30" maxlength="18" /></td>
<td width="187" class="style5">Rines<br />
<select name="rines" id="rines">
<option value="0">Si</option>
<option value="1">No</option>
</select></td>
<tr>
<th class="style5"><div align="left">Id Del Cliente:<br />
<input type="text" name="IdCliente" size="30" maxlength="18" value="" onfocus="location.href='?idc='+IdCliente.value;" />
<br /></div></th>
<td width="248" height="52" class="style5">&nbsp;Transmisi&oacute;n:<br />
<input type="text" name="Transmision" size="30" maxlength="18" /></td>
<td width="187" class="style5">Tipo Rines<br />
<input name="trines" type="text" id="trines" size="30" maxlength="18" /></td>
<tr>
<th class="style5"><div align="left">
<p>Categor&iacute;a: &nbsp;<br />
<select name="categoria" onChange="">
<option selected="selected" >Seleccione Una Categoria De Auto</option>
<option value="1">Convertible </option>
<option value="2">Coupe</option>
<option value="3">Hattchback</option>
<option value="4">Sedan</option>
<option value="5">Camioneta/Suv</option>
<option value="6">Pickup</option>
<option value="7">Minivan/Van</option>
<option value="8">Wagon</option>
</select>
</p>
</div></th>
<td width="248" height="54" class="style5">Tracci&oacute;n:<br />
<input type="text" name="Traccion" size="30" maxlength="18" /></td>
<td width="187" class="style5">&nbsp;Sonido<br />
<select name="sonido" id="select">
<option value="0">Si</option>
<option value="1">No</option>
</select></td>
</tr>
<tr>
<th class="style5"><div align="left">A&ntilde;o:<br />
<input type="text" name="Ano" size="30" maxlength="18" />
</div></th>
<td width="248" height="47" class="style5">&nbsp;N&ordm; de Puertas &nbsp;<br />
<input name="NPuertas" type="text" id="NPuertas" size="30" maxlength="18" />
<br /></td>
<td width="187" class="style5">Tipo de Sonido:
<input name="tsonido" type="text" id="tsonido" size="30" maxlength="18" /></td>
</tr>
<tr>
<th class="style5"><div align="left"> Id Marca:<br />

<input type="text" name="nIdAuto" value="<?php echo $_REQUEST['IdAuto'];?>" onChange="<?php echo $_REQUEST['nIdAuto'];?>"/>
<input type="text" name="nIdCliente" value="<?php echo $_REQUEST['IdCliente'];?>" onChange="<?php echo $_REQUEST['nIdCliente'];?>"/>
<?php
if ($n!=0){
?>
<select name='i_marca' onChange=
"location.href='?IdAuto='+IdAuto.value+'&IdCliente ='+IdCliente.value+'&i_m='+i_marca.value;">
<option>Seleccione La Marca Del Auto</option>
<?php
while ($row=mysql_fetch_array($consulta_cons_Marca,MYSQL _NUM))
{
$id_marca=$row['0'];
$nomMarca=$row['1'];

?>

<option value="<?php echo $id_marca;?>"<?php if($_REQUEST['i_marca']=$id_marca) { echo "selected"; }if(empty($_REQUEST['IdAuto'])){ $_REQUEST['IdAuto']=$_REQUEST['IdAuto']; }if(empty($_REQUEST['IdCliente'])){ $_REQUEST['IdCliente']=$_REQUEST['IdCliente'];}?>> <?php echo
$nomMarca;?></option><?php



}

}

else{

echo "<select name='i_marca'>";
echo "<option>No Existen Marcas Registradas...","</option>";

}
?>
</select>

<br />

</div></th>
<td width="248" height="45" class="style5">Clima<br />
<select name="clima">
<option value="0">Si</option>
<option value="1">No</option>
</select></td>
<td width="187" class="style5">Otros&nbsp;&nbsp;&nbsp; <input name="Otros" type="text" id="Otros" size="30" maxlength="18" /></td>
</tr>
<tr>
<th class="style5">
<div align="left">
<p>Id Modelo:<br /><?php
//Te puse la variable con el $REQUEST pues la tenias sin eso
consultar_modelo($_REQUEST['i_m']);
//echo $mimarca;
?>
<br />
</p>
</div></th>
<td width="248" height="48" class="style5">N&ordm; De Climas:<br />
<input name="NClimas" type="text" id="NClimas" size="30" maxlength="18" /></td>
<td width="187" class="style5">Estado<br />
<?php echo"<select name='Edo'>";
while($row=mysql_fetch_array($consulta_estados)){
$id=$row['0'];
$Est=$row['1'];
echo "<option>$Est","</option>";

}
echo "</select>"; ?></td>
</tr>
<tr>
<th class="style5"><div align="left">&nbsp;Kilometraje:<br />
<input type="text" name="Km" size="30" maxlength="18" />
<br />
</div></th>
<td width="248" height="35" class="style5">&nbsp;Sistema Alarma:<br />
<select name="alarma" id="alarma">
<option value="0">Si</option>
<option value="1">No</option>
</select> &nbsp;&nbsp;</td>
<td width="187" class="style5">Precio:
<input type="text" name="Precio" size="30" maxlength="18" /></td>
</tr>
<tr>
<th class="style5"><div align="left">
<p>Motor:<br />
<input type="text" name="Motor" size="30" maxlength="18" />
</p>
<p>&nbsp; </p>
</div></th>
<td width="248" height="18" class="style5"><p>Sistema El&eacute;ctrico&nbsp;<br />
<select name="electrico" id="electrico">
<option value="0">Si</option>
<option value="1">No</option>
</select>
</p>
<p>
<input type="submit" name="regAuto" value="Registrar">
</p></td>
<td width="187" class="style5"><p>Fecha De Registro&nbsp;
<input type="text" name="Fecha" size="30" maxlength="18" />
</p>
<p>&nbsp; </p></td>
</tr>
</table>

</form>
  #2 (permalink)  
Antiguo 08/06/2007, 11:11
 
Fecha de Ingreso: diciembre-2005
Mensajes: 50
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Mantener valor de caja de texto al seleccionar opcion de lista en un formulario

El problema es que al cambiar la opcion de marca hace que se recargue toda la pagina, hay varias formas de soluciona esto, la mejor es ajax, para que solo cargue los datos que quieres, la otra opcion es cargar en un array de javascript todos los datos del segundo combo (modelos de vehiculo) y hacer que al selecionar una marca llame a una funcion de javascript que de acuerdo a su valor obtenga los datos que de modelos que deseas y la otra (menos aconsejable) es guardar los datos de todo el formulario (temporalmente) al momento que haces seleccionas una marca.
  #3 (permalink)  
Antiguo 08/06/2007, 13:30
Avatar de MariaElenaSolís22  
Fecha de Ingreso: agosto-2006
Ubicación: Mty., Nuevo León, Méx.
Mensajes: 88
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Mantener valor de caja de texto al seleccionar opcion de lista en un formulario

el problema es que no se mucho de javascript y mi duda como paso los modelos de marcas (el resultado de la consulta mysql) a un array en javascript?
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 15:39.