Listas dependientes con Java y PHP

arapi
04 de Julio del 2005
Hola a todos, estoy tratando de cargar listas dependientes con java y php, cómo hacer para que en el código que adjunto, $val tome el valor seleccionado al elegir un país en la misma página sin hacer un submit.
Asimismo, cómo hacer para que al activar el submit y recargar la página, aparezca el nombre del país seleccionado en lugar del valor que le corresponde.
Gracias por sus respuestas.

<select name='hw_reg_1' OnChange='HwReg_Reload(1)'>
<option value="<?php echo $_REQUEST['hw_reg_1'];?>" SELECTED><?php echo $_REQUEST['hw_reg_1'];?></option>
<option value=''>Seleccione país</option>
<option value='1'>Argentina</option>
<option value='2'>Brasil</option>
<option value='3'>Colombia</option>
<option value='4'>Ecuador</option>
<option value='5'>Perú</option>
</select>
<?
$val = $_REQUEST['hw_reg_1'];
print "<input type='hidden' name=$fieldname value=$val>";

print "<select name=hw_reg_2 OnChange='HwReg_Reload(2)'>";
print "<option value=''>- Seleccione -";
print "</select>";

$val = $_REQUEST['hw_reg_2'];
print "<input type='hidden' name=$fieldname value=$val>";

otreblanc
04 de Julio del 2005
Hola!

Tengo este script en mi biblioteca y sincroniza 2 combos por PHP y la validacion esta en javascript:
<html>
<head>
<script language='JavaScript'>
function validar(elform) {
if ((elform.pais.value!=0) && (elform.region.value!=0)) {
return true;
} else {
alert("Faltan Opciones por Seleccionar");
return false;
}
}

function HwReg_Reload(numcombo,objcombo) {
seleccion=objcombo.value;
switch (numcombo) {
case 1:
if (seleccion!=0) {
window.location.href="script00.php?pais="+seleccion;
}
break;
case 2:
alert("lo que quieras con tu combo 2 (regiones)");
break;
}
}
</script>
</head>
<body>
<?php
$numpais=(isset($_REQUEST['pais']))?$_REQUEST['pais']:0;
$enlace=mysql_connect('localhost','root','');
mysql_select_db('test');
$recurso=mysql_query("SELECT * FROM paises ORDER BY pais");
?>
<form name='forma' method='get' action='script01.php' onsubmit='return validar(this)'>
Pais :
<select name='pais' onChange='HwReg_Reload(1,this)'>
<option value='0' selected>Seleccione ...</option>
<?php
while ($renglon=mysql_fetch_assoc($recurso)) {
echo "<option value='".$renglon['id_pais']."' ";
echo ($numpais==$renglon['id_pais'])?'selected':'';
echo ">".$renglon['pais']."</option>";
}
?>
</select><br><br>
Region :
<select name='region' onChange='HwReg_Reload(2,this)'>
<option value='0' selected>Seleccione ...</option>
<?php
if ($numpais!=0) {
$consultaSQL="SELECT * FROM regiones WHERE id_pais=".$numpais." ORDER BY region";
$recurso=mysql_query($consultaSQL);
while ($renglon=mysql_fetch_assoc($recurso)) {
echo "<option value='".$renglon['id_region']."'>".$renglon['region']."</option>";
}
}
?>
</select><br><br>
<input type='submit' value='Enviar'>
</form>
</body>
</html>

Enjoy!

otreblanc
04 de Julio del 2005
Para completar la informacion del script anterior:

1.- Tengo las siguientes tablas de la bbdd:
TABLA (paises) -----------------------------
id_pais, pais
1, Argentina
2, Brasil
3, Colombia

TABLA (regiones) -----------------------------
id_pais, id_region, region
1, 11, argentina_r1
1, 12, argentina_r2
2, 21, brasil_r1
2, 22, brasil_r2
3, 31, colombia_r1
3, 32, colombia_r2

y el formulario (validando los 2 combos) te genera algun link como el siguiente:
http://localhost/script01.php?pais=1&region=12

Enjoy! xD