Hallo zusammen,
Ich habe folgendes Problem:
Es gibt ein tolles JavaScript-Tool von Thorsten Sprenger mit dem Namen ZipToCity. Vielleicht kennt das ja jemand. Hinterlegt sind hierbei PLZs aus Deutschland. Sinn der Sache ist bei der Registrierung nur die PLZ anzugeben und dann automatisch über ein JavaScript den Ort in ein Textfeld einzutragen.
Die HTML Files sehen so aus:
<html><head><script language=javascript><!--
try {if(parent.zipcode) {
var z=new Array("4");
z["01069"]="Dresden";
z["01097"]="Dresden";
z["01099"]="Dresden";
if(z[parent.zipcode]) parent.outputfield.value=z[parent.zipcode];}}catch(e){}
//--></script></head></html>
Der JSScript Code folgendermaßen:
//file: ziptocity.js Version 1.2, 16/08/2004 by Thorsten Sprenger
var outputfield;
var zipcode;
function ziptocity(inputfield_zip,inputfield_city,inputfield_country){
try {
outputfield = getElementById(inputfield_city);
if(inputfield_country)
country = getElementById(inputfield_country).value;
else
country = "de";
zipcode = getElementById(inputfield_zip).value;
// trim out spaces
while (zipcode.indexOf(' ') != -1) {
var i = zipcode.indexOf(' ');
zipcode = zipcode.substring(0,i)+ zipcode.substring(i+1);
}
var a = zipcode.substring(0,1);
var b = zipcode.substring(0,3);
var rootPath = ziptocityframe.location.href.substring(0,ziptocityframe.location.href.indexOf('stuff/postleitzahlen/'));
var path = rootPath + 'stuff/postleitzahlen/'+country+"/"+a+"/"+b+".html";
ziptocityframe.location.href=path;
}catch(e) {}
}
function getElementById(id){
var element=document.getElementById && document.getElementById(id) || document.all && document.all(id);
return element;
}
Das ganze wird dann aufgerufen:
<iframe name="ziptocityframe" src="{$TPL_COMPATH}spacer.gif" frameborder="0" height="0" width= "0"></iframe>
Postleitzahl:
<input type="text" name="zipcode" id="zipcode" size="5" onChange="javascript:ziptocity('zipcode','cityname')" /> <br>
Ort: <input type="text" name="cityname" id="cityname" size="30"><br>
Was ich nun möchte ist, daß anstelle des Textfields cityname ein Menü kommt in dem die passenden Orte drin stehen. Ich habe ihm darauf hin eine Mail geschrieben und er hat folgendes geantwortet:
Du müsstest in allen Dateien ziptocity/de/x/xyz.html statt der Zeile
parent.outputfield.value=z[parent.zipcode];
einen Codeschnipsel einfügen, der Deine Listbox füllt mit den Einträgen des z-Arrays,
(also in einer Schleife per DOM jeden Ort-Eintrag zum Listbox- <SELECT>-Element hinzufügt).
Nun ist es so, daß ich mich mit JavaScript nicht sonderlich auskenne - kann mir vielleicht jemand helfen, wie sowas aussehen müsste?
Viele Grüße
Hacki
Betreff |
Von |
Datum |
|
![](pics/x.gif) ![](pics/page.gif) |
Re: Problem mit GeoDB
Hallo Hacki,<br><br>hast du das Problem inzwischen gelöst? Hätte Interesse an einer Lösung, weil ich genau das gleiche Problem habe.<br><br>Schöne Grüße,<br>Christoph |
![](pics/x.gif) |
![](pics/x.gif) |
![](pics/x.gif) |
|
|
G.
Guest
|
15.09.2005 01:16 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!