Duda sobre los datos de un formulario utilizando combo box

Cordial saludo.
Otra vez yo, espero que no este molestando mucho; todo este fin de semana he intentado otro pequeño formulario similar al que me ayudaste, con la diferencia que ahora manejo combos para seleccionar: el Sexo de la persona, Tipo de Documento; tengo que escribir el no. De identificación y validar si existe ya esta listo, mi problema es que en el campo 8 esta el código del depto que debo hacer una consulta para validar que existe y traer el nombre eso ya lo hago pero me borra los textos y lo que escogí en los combos antes mencionados; ¿Tienes alguna sugerencia para que no me borre lo que escogí en los combos?
Agradezco la ayuda que me puedas brindar.

1 respuesta

Respuesta
1
Tu código modificado quería similar al siguiente:
<?php
$VL_NoIdent = $_GET["doc"]
?>
<html>
<head>
<title>Adicionar Particular</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="form1" method="post" action="">
<table width="20%" border="1" align="center">
<tr>
<td><table width="5%" border="0" align="center" cellspacing="0">
<tr>
<td colspan="4"><div align="center"><font color="#00FF33" size="5" face="Verdana, Arial, Helvetica, sans-serif">Adicionar
Particular</font></div></td>
</tr>
<tr>
<td><div align="right">No Identificación</div></td>
<td><input name="NoIdent" type="text" id="NoIdent"
onKeyPress="if(event.keyCode==13){submit();} if(event.keyCode>=48 && event.keyCode<=57){} else{event.keyCode=8;}" value="<?php echo $_REQUEST['NoIdent']; ?>" size="10" maxlength="10">
<?php include "ValidaParticular.php";
if(isset($_REQUEST['NoIdent']))
{
$arr[0] = $_REQUEST['cbTipIdent'];
$arr[1] = $_REQUEST['txtPriApel'];
$arr[2] = $_REQUEST['txtSegApel'];
$arr[3] = $_REQUEST['txtPriNomb'];
$arr[4] = $_REQUEST['txtSegNomb'];
$arr[5] = $_REQUEST['cbSexo'];
$VP_FacturaPart = ValidaFacturaPart($_REQUEST['NoIdent']);
if($VP_FacturaPart[0]!="")
{
echo "<script>";
echo "alert('Ya existe un particular creado con esta cédula');";
echo "document.forms.form1.NoIdent.value='';";
echo "document.forms.form1.NoIdent.focus();";
echo "</script>";
$campoFocus = "NoIdent";
}
else
{
$campoFocus = "txtPriApel";
}
}
?></td>
<td><div align="right">Tipo Identificación</div></td>
<?php
$postTipIdent = $_POST['cbTipIdent'];
?>
<td><select name="cbTipIdent" size="1" id="cbTipIdent">
<option value="CC" <?php if ($postTipÌdent=="CC") echo ' selected'; ?> >Cédula Ciudadanía</option>
<option value="CE" <?php if ($postTipÌdent=="CE") echo ' selected'; ?> >Cédula de Extranjeria</option>
<option value="PA" <?php if ($postTipÌdent=="PA") echo ' selected'; ?> >Pasaporte</option>
<option value="RC" <?php if ($postTipÌdent=="RC") echo ' selected'; ?> >Registro Civil</option>
<option value="TI" <?php if ($postTipÌdent=="TI") echo ' selected'; ?> >Tarjeta de Identidad</option>
<option value="AS" <?php if ($postTipÌdent=="AS") echo ' selected'; ?> >Adulto sin Identificación</option>
<option value="MS" <?php if ($postTipÌdent=="MS") echo ' selected'; ?> >Menor sin Identificación</option>
<option value="NU" <?php if ($postTipÌdent=="NU") echo ' selected'; ?> >No. Único Identificación</option>
</select></td>
</tr>
<tr>
<td><div align="right">Primer Apellido</div></td>
<td><input name="txtPriApel" type="text" id="txtPriApel" size="20" maxlength="20" onKeyPress="if(event.keyCode==13 && document.forms.form1.txtPriApel.value!=''){document.forms.form1.txtSegApel.focus();}"></td>
<td><div align="right">Segundo Apellido</div></td>
<td><input name="txtSegApel" type="text" id="txtSegApel" size="20" maxlength="20" onKeyPress="if(event.keyCode==13){document.forms.form1.txtSegApel.focus();}"></td>
</tr>
<tr>
<td><div align="right">Primer Nombre</div></td>
<td><input name="txtPriNomb" type="text" id="txtPriNomb" size="20" maxlength="20" onKeyPress="if(event.keyCode==13 && document.forms.form1.txtPriNomb.value!=''){document.forms.form1.txtSegNomb.focus();}"></td>
<td><div align="right">Segundo Nombre</div></td>
<td><input name="txtSegNomb" type="text" id="txtSegNomb" size="20" maxlength="20"></td>
</tr>
<tr>
<td><div align="right">Sexo</div></td>
<?php
$postSexo = $_POST['cbSexo'];
?>
<td><select name="cbSexo" size="1" id="cbSexo">
<option value="M" <?php if ($postSexo=="M") echo ' selected'; ?> >Masculino</option>
<option value="F" <?php if ($postSexo=="F") echo ' selected'; ?> >Femenino</option>
</select></td>
<td><div align="right">Fecha Nacimiento</div></td>
<td><input name="txtFechaNac" type="text" id="txtFechaNac" size="10" maxlength="10"
onKeyPress="if(event.keyCode==13){if(isValidDate()==false){document.forms.form1.txtFechaNac.focus();}else{document.forms.form1.txtCodDepto.focus();}} if(event.keyCode>=47 && event.keyCode<=57){} else{event.keyCode=8;} if(document.forms.form1.txtFechaNac.value==''){document.forms.form1.txtFechaNac.focus();}">
<font color="#009900" size="2" face="Verdana, Arial, Helvetica, sans-serif">(mm/dd/yyyy)</font></td>
</tr>
<tr>
<td><div align="right">Código Departamento</div></td>
<td><input name="txtCodDepto" type="text" id="txtCodDepto" onKeyPress="if(event.keyCode==13){ submit();} if(event.keyCode>=48 && event.keyCode<=57){} else{event.keyCode=8;}" value="<?php echo $_REQUEST['txtCodDepto']; ?>" size="2" maxlength="2"></td>
<?php
if(isset($_REQUEST['txtCodDepto']) and $_REQUEST['txtCodDepto'])
{
include "conexion.php";
if(mssql_select_db("db", $conexion))
{
$consul = mssql_query("select DepNombre from Departamentos where DepCodigo="
.$_REQUEST['txtCodDepto'],$conexion);
if(mssql_num_rows($consul)>0)
{
$reg = mssql_fetch_object($consul);
$VL_NombDepto = $reg->DepNombre;
}
else
{
echo "<script>";
echo "alert('No se encontro un Departamento asociado a este Código');";
echo "</script>";
}
}
mssql_close();
}
$_REQUEST['cbSexo'] = $VL_Sexo; ?>
<td><div align="right">Nombre Departamento</div></td>
<td><input name="txtNombDepto" type="text" id="txtNombDepto" value="<?php echo $VL_NombDepto; ?>" size="25" maxlength="25" readonly></td>
</tr>
<tr>
<td><div align="right">Código Municipio</div></td>
<td><input name="txtCodMun" type="text" id="txtCodMun" onKeyPress="if(event.keyCode==13){submit();} if(event.keyCode>=48 && event.keyCode<=57){} else{event.keyCode=8;}" value="<?php echo $_REQUEST['txtCodMun']; ?>" size="3" maxlength="3"></td>
<?php
if(isset($_REQUEST['txtCodMun']) and ($VL_NombDepto!="") and $_REQUEST['txtCodMun'])
{
include "conexion.php";
if(mssql_select_db ("db", $conexion))
{
$consul = mssql_query("select MunNombre from Municipios where MunCodigo="
.$_REQUEST['txtCodMun']." and MunDpto=".
$_REQUEST['txtCodDepto'],$conexion);
if(mssql_num_rows($consul)>0)
{
$reg = mssql_fetch_object($consul);
$VL_NombMun = $reg->MunNombre;
}
else
{
echo "<script>";
echo "alert('No se
encontro un
Municipio asociado
al Departamento');";
echo "</script>";
}
}
mssql_close();
}
?>
<td><div align="right">Nombre Municipio</div></td>
<td><input name="txtNombMun" type="text" id="txtNombMun" value="<?php echo $VL_NombMun; ?>" size="20" maxlength="20" readonly></td>
</tr>
<tr>
<td><div align="right">Zona</div></td>
<?php
$postZona = $_POST['cbZona'];
?>
<td><select name="cbZona" size="1" id="cbZona">
<option value="U" <?php if ($postZona=="U") echo ' selected'; ?> >Urbana</option>
<option value="R" <?php if ($postZona=="R") echo ' selected'; ?> >Rural</option>
</select></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input name="btnGuardar" type="button" id="btnGuardar" value="Guardar" onClick="submit();"></td>
<td><input name="btnCerrar" type="button" id="btnCerrar" onClick="window.close();" value="Cerrar"></td>
<td> </td>
</tr>
</table></td>
</tr>
</table>
</form>
</body>
</html>
Muchas Gracias.
Es muy valiosa su ayuda, información y dedicación que nos brinda.
Cordial Saludo.
Copie el código que me escribiste pero en el combo aparece vacío.
Este es el código que he hecho.
<?php
$VL_NoIdent = $_GET["doc"]
?>
<html>
<head>
<title>Adicionar Particular</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="form1" method="post" action="">
<table width="20%" border="1" align="center">
<tr>
<td><table width="5%" border="0" align="center" cellspacing="0">
<tr>
<td colspan="4"><div align="center"><font color="#00FF33" size="5" face="Verdana, Arial, Helvetica, sans-serif">Adicionar
Particular</font></div></td>
</tr>
<tr>
<td><div align="right">No Identificación</div></td>
<td><input name="NoIdent" type="text" id="NoIdent"
onKeyPress="if(event.keyCode==13){submit();} if(event.keyCode>=48 && event.keyCode<=57){} else{event.keyCode=8;}" value="<?php echo $_REQUEST['NoIdent']; ?>" size="10" maxlength="10">
<?php include "ValidaParticular.php";
if(isset($_REQUEST['NoIdent']))
{
$arr[0] = $_REQUEST['cbTipIdent'];
$arr[1] = $_REQUEST['txtPriApel'];
$arr[2] = $_REQUEST['txtSegApel'];
$arr[3] = $_REQUEST['txtPriNomb'];
$arr[4] = $_REQUEST['txtSegNomb'];
$arr[5] = $_REQUEST['cbSexo'];
$VP_FacturaPart = ValidaFacturaPart($_REQUEST['NoIdent']);
if($VP_FacturaPart[0]!="")
{
echo "<script>";
echo "alert('Ya existe un particular creado con esta cédula');";
echo "document.forms.form1.NoIdent.value='';";
echo "document.forms.form1.NoIdent.focus();";
echo "</script>";
$campoFocus = "NoIdent";
}
else
{
$campoFocus = "txtPriApel";
}
}
?></td>
<td><div align="right">Tipo Identificación</div></td>
<td><select name="cbTipIdent" size="1" id="cbTipIdent">
<option value="CC">Cédula Ciudadanía</option>
<option value="CE">Cédula de Extranjeria</option>
<option value="PA">Pasaporte</option>
<option value="RC">Registro Civil</option>
<option value="TI">Tarjeta de Identidad</option>
<option value="AS">Adulto sin Identificación</option>
<option value="MS">Menor sin Identificación</option>
<option value="NU">No. Único Identificación</option>
</select></td>
</tr>
<tr>
<td><div align="right">Primer Apellido</div></td>
<td><input name="txtPriApel" type="text" id="txtPriApel" size="20" maxlength="20" onKeyPress="if(event.keyCode==13 && document.forms.form1.txtPriApel.value!=''){document.forms.form1.txtSegApel.focus();}"></td>
<td><div align="right">Segundo Apellido</div></td>
<td><input name="txtSegApel" type="text" id="txtSegApel" size="20" maxlength="20" onKeyPress="if(event.keyCode==13){document.forms.form1.txtSegApel.focus();}"></td>
</tr>
<tr>
<td><div align="right">Primer Nombre</div></td>
<td><input name="txtPriNomb" type="text" id="txtPriNomb" size="20" maxlength="20" onKeyPress="if(event.keyCode==13 && document.forms.form1.txtPriNomb.value!=''){document.forms.form1.txtSegNomb.focus();}"></td>
<td><div align="right">Segundo Nombre</div></td>
<td><input name="txtSegNomb" type="text" id="txtSegNomb" size="20" maxlength="20"></td>
</tr>
<tr>
<td><div align="right">Sexo</div></td>
<td><select name="cbSexo" size="1" id="cbSexo">
<option value="M">Masculino</option>
<option value="F">Femenino</option>
</select></td>
<td><div align="right">Fecha Nacimiento</div></td>
<td><input name="txtFechaNac" type="text" id="txtFechaNac" size="10" maxlength="10"
onKeyPress="if(event.keyCode==13){if(isValidDate()==false){document.forms.form1.txtFechaNac.focus();}else{document.forms.form1.txtCodDepto.focus();}} if(event.keyCode>=47 && event.keyCode<=57){} else{event.keyCode=8;} if(document.forms.form1.txtFechaNac.value==''){document.forms.form1.txtFechaNac.focus();}">
<font color="#009900" size="2" face="Verdana, Arial, Helvetica, sans-serif">(mm/dd/yyyy)</font></td>
</tr>
<tr>
<td><div align="right">Código Departamento</div></td>
<td><input name="txtCodDepto" type="text" id="txtCodDepto" onKeyPress="if(event.keyCode==13){ submit();} if(event.keyCode>=48 && event.keyCode<=57){} else{event.keyCode=8;}" value="<?php echo $_REQUEST['txtCodDepto']; ?>" size="2" maxlength="2"></td>
<?php
if(isset($_REQUEST['txtCodDepto']) and $_REQUEST['txtCodDepto'])
{
include "conexion.php";
if(mssql_select_db("db", $conexion))
{
$consul = mssql_query("select DepNombre from Departamentos where DepCodigo="
.$_REQUEST['txtCodDepto'],$conexion);
if(mssql_num_rows($consul)>0)
{
$reg = mssql_fetch_object($consul);
$VL_NombDepto = $reg->DepNombre;
}
else
{
echo "<script>";
echo "alert('No se encontro un Departamento asociado a este Código');";
echo "</script>";
}
}
mssql_close();
}
$_REQUEST['cbSexo'] = $VL_Sexo; ?>
<td><div align="right">Nombre Departamento</div></td>
<td><input name="txtNombDepto" type="text" id="txtNombDepto" value="<?php echo $VL_NombDepto; ?>" size="25" maxlength="25" readonly></td>
</tr>
<tr>
<td><div align="right">Código Municipio</div></td>
<td><input name="txtCodMun" type="text" id="txtCodMun" onKeyPress="if(event.keyCode==13){submit();} if(event.keyCode>=48 && event.keyCode<=57){} else{event.keyCode=8;}" value="<?php echo $_REQUEST['txtCodMun']; ?>" size="3" maxlength="3"></td>
<?php
if(isset($_REQUEST['txtCodMun']) and ($VL_NombDepto!="") and $_REQUEST['txtCodMun'])
{
include "conexion.php";
if(mssql_select_db ("db", $conexion))
{
$consul = mssql_query("select MunNombre from Municipios where MunCodigo="
.$_REQUEST['txtCodMun']." and MunDpto=".
$_REQUEST['txtCodDepto'],$conexion);
if(mssql_num_rows($consul)>0)
{
$reg = mssql_fetch_object($consul);
$VL_NombMun = $reg->MunNombre;
}
else
{
echo "<script>";
echo "alert('No se
encontro un
Municipio asociado
al Departamento');";
echo "</script>";
}
}
mssql_close();
}
?>
<td><div align="right">Nombre Municipio</div></td>
<td><input name="txtNombMun" type="text" id="txtNombMun" value="<?php echo $VL_NombMun; ?>" size="20" maxlength="20" readonly></td>
</tr>
<tr>
<td><div align="right">Zona</div></td>
<td><select name="cbZona" size="1" id="cbZona">
<option value="U">Urbana</option>
<option value="R">Rural</option>
</select></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input name="btnGuardar" type="button" id="btnGuardar" value="Guardar" onClick="submit();"></td>
<td><input name="btnCerrar" type="button" id="btnCerrar" onClick="window.close();" value="Cerrar"></td>
<td> </td>
</tr>
</table></td>
</tr>
</table>
</form>
</body>
</html>
Intente hacerlo como me escribiste pero no me sale nada.
Agradezco la ayuda que me puedas brindar.
Perdona por la brevedad de mi anterior respuesta, quise ponerte algún ejemplo pero no me dio tiempo y te mande lo que tenia por si era suficiente.
La idea es la siguiente:
- La primera vez que ejecutas el formulario muestras el combo de forma normal.
- Una vez que se ha seleccionado algo y se envía, recibes el elemento seleccionado mediante POST en una variable. Puedes usar esa variable para activar el atributo SELECTED de cualquier opción del combo.
Un ejemplo:
<html> <head> <title> Combos </title> </head> <body>
<form name='formulario' method='POST'>
<?php
$opcionSeleccionada = $_POST['mi_dia'];
$dias = array ( "Lunes", "Martes", "Miercoles", "Jueves", "Viernes" );
echo "<select name='mi_dia'>";
for($i = 0; $i < 7; $i++) {
if($opcionSeleccionada == $dias) {
echo "<option value='{$dias}' SELECTED>{$dias{i]}</option>";
} else {
echo "<option value='{$dias}'>{$dias}</option>";
}
}
echo "</select>";
?>
<input type='submit' value='Enviar'>
</form>
</body>
</html>
Ahora solo tienes que adaptar este ejemplo a tu código.
No te preocupes que no molestas.
Cuando rellenas un formulario y lo mandas, en la página que lo recibe se crean unas variables con el nombre de cada campo del formulario y a las que puedes acceder mediante $_POST['nombreVariable']. Puedes valerte de eso para rellenar el atributo value de los campos de texto, o el atributo selected en los combos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas