Hola.
A ver si te sirve algo así:
Código:
<script>
var p = new Array()
var c = new Array()
p[8]="Barcelona"
c[8]="Cataluña"
p[28]="Madrid"
c[28]="Madrid"
p[50]="Zaragoza"
c[50]="Aragón"
function comprueba(cp)
{
if (cp.charAt(0) == 0) cp=cp.charAt(1)
else cp=cp.substring(0,2)
document.getElementById('prov').value=c[cp]
document.getElementById('comu').value=p[cp]
}
</script>
Codigo postal: <input type="text" id="codpos" onblur="comprueba(this.value)"><br>
Provincia: <input type="text" id="prov"><br>
Comunidad: <input type="text" id="comu">
Está hecho a modo de ejemplo. Solo incluye Barcelona, Madrid y Zaragoza.
Te explico.
Hay dos cadenas definidas. 'c' para comunidades y 'p' para provincias. Lo que tienes que hacer es completar el array, Siguiendo el orden del código, postal. Por ejemplo.
p[1]="Alava"
c[1]="País Vasco"
p[2]="Albacete"
c[2]="Castilla la Mancha"
.
.
.
p[52]="Melilla"
c=[52]="Comunidad Autónoma de Melilla"
He supuesto que preguntabas por los códigos postales españoles.
Un saludete.