Habilitar combobox

Tengo problemas con los combobox en php, resulta que tengo dos combobox en el primero tengo una lista de campos de una tabla de la base de datos y lo que hago es que cuando selecciono un campo de la lista del combo el segundo combo se recarga pero con los registros del campo seleccionado en el primer campo, para ello utilizo una función de javascript que lo que hace es que cuando selecciono una opción del primer combo, la página se refresca y es así como aparecen en el segundo combo los registros del campo seleccionado, pero ahora el problema es que ahora lo que quiero es que cuando seleccione una opción valida del primer combo se habilite el segundo, pero resulta que el programa no lo puede hacer porque como utilizo la función de javascript para recargar la página no permite que se habilite el segundo combo. ¿Qué puedo hacer?
Este es el código de mi programa:
<html>
<head>
<script language="JavaScript">
function recarga(form) {
document.form.submit();
}
</script>
</head>
<body>
<?php
//oblacionz
require('Connections/ConexionToBDSF6.php');
?>
<H1>Ejemplo de uso de bases de datos con PHP y MySQL</H1>
<form name="form" method="POST">
<tr><td><b>Campos :
<select name="Campos" onChange="javascript:recarga(this.form)">
<option value="---Seleccione campo----" selected>---Seleccione campo----</option>
<?
$cam=array('Clave_Sat','Clave_SEConv');
$cam2=array('SAT','S.E.');
// $cam2=implode($cam2,'<br>');
// $cam=implode($cam,'<br>');
for($j=0; $j<(count($cam2)); $j++){
if ($_POST['Campos']!=$cam[$j]){
echo "<option value='".$cam[$j]."' >".$cam2[$j]."</option>";
}
else{
echo "<option value='".$cam[$j]."' selected>".$cam2[$j]."</option>";
}
}
?>
</select>
</b></td>
<td>
</td>
</tr>
<b>Registros</b>
<?
mysql_select_db($database_ConexionToBDSF6, $ConexionToBDSF6);
$Campos=$_POST['Campos'];
$sSQL="SELECT DISTINCT(".$Campos.") FROM inventario_interruptor_sf6 ORDER BY 1";
$resultado1=mysql_query($sSQL,$ConexionToBDSF6);
//echo "<select name='pais'>";
echo "<select name='Registro'>";
echo "<option value='-- Seleccione campo--'>--Seleccione campo--</option>";
while ($arr_asoc = mysql_fetch_array($resultado1)){
if ($_POST['Campos']==$arr_asoc[$Campos]){
echo "<option value='".$arr_asoc[$Campos]."' selected>".$arr_asoc[$Campos]."</option>";
//echo "$arr_asoc[$Campos]";
}
else{
echo "<option value='".$arr_asoc[$Campos]."'>".$arr_asoc[$Campos]."</option>";
//echo "$arr_asoc[$Campos]";
}
}
echo "</select>";
//echo "<br><br>Consulta: $sSQL <br> Campos: $Campos";
//mysql_free_result($resultado1);
?>
</form>
</body>
</html>

2 Respuestas

Respuesta
1
¿Aun requieres la respuesta? Estuve fuera por problemas de salud.
Respuesta
1
Tu función de recarga lo que hace es intentar enviar el form, lo que tienes que hacer es utilizar el jump menu de macromedia, esto es un combo que tiene una función javascript en donde cada item del combo tiene asociada una url, en nuestro cada siempre sera la misma pero con parámetros diferentes.
Reordenando... Para el combo 2 necesitas saber que se ha seleccionado del combo 1, además necesitas ejecutar código en el servidor (php), entonces supone que el combo 1 tenga países y lo que necesitas es el código el país, por ejemplo 'es', ¿en el combo especial que te digo en la parte de url pondrías?cod=es según cada registro de la lista de países, esto te permitirá luego hacer un $_GET[cod] y comprobar si tiene algo, si lo tiene cargas las ciudades del país que recuperaste en el combo 2.
En el dreamweaver el botón esta al lado del botón del combo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas