Estás en lo correcto, es mucha info para usarlo solo con javascript, lo que hago yo es fácil, y utiliza tanto javascript como PERL y capas (<div> y </div) de html
para hacerlo mas fácil usaremos una sola página, luego vos fijate como hacerlo por popup, en la página en donde están las opciones de html, coloca este javascript
Código:
function writeLayer(layerID,txt){
if(document.getElementById){
document.getElementById(layerID).innerHTML=txt;
}else if(document.all){
document.all[layerID].innerHTML=txt;
}else if(document.layers){
with(document.layers[layerID].document){
open();
write(txt);
close();
}
}
}
Además en ese html coloca lo siguiente en donde quieres que estén los sesultados
<div id="resultados"></div>
Ahora bien, en el primer select que tienes (comunas) has que cuando alguien seleccione una opción se valla al .pl que genere la base de datos con la data que tiene que devolver, para lo cual vamos a llamar a la función que colocamos más arriba pasándole por parámetro los resultados, de esta manera:
Código:
print "<SCRIPT LANGUAJE=\"JavaScript\">\n";
print "if(self.opener){myVar=self.opener.top;}\n";
print "if(self.opener){myVar=self.opener; }\n";
print "myVar.writeLayer('resultados','$div_contenido'); \n";
print "\nwindow.close();\n";
print "</SCRIPT>\n";
Entonces esta ventana, mandará la info a la página que la creó, y se auto-cerrará. Dicha info se colocará en el div resultados
Espero que te sirva
PD: Este truco me lo enceñó kidd, agradecele a el también !!!