Hallo,
Verzeihung, aber mit dem Code, den du gepostet hat, vergraulst du jeden, der dir helfen möchte. Natürlich kannst den Helfenden helfen, dir zu helfen. Beispielsweise ist der PHP-Code samt Datenbankoperationen i.d.R. vollkommen irrelevant, wenn es um ein HTML- und JavaScript-Problem geht.
Darüber hinaus ist es hier Sitte, dass dem Fragenden geholfen wird, das Problem selbst zu lösen. Wenn du hier mit einem fremden Script, null Ahnung von JavaScript und somit null Vorarbeit ankommst, ist die Wahrscheinlichkeit besonders gering, dass dir jemand hilft. Ohne JavaScript-Kenntnisse kann dir auch niemand Tipps geben, sondern du willst, dass dir jemand die Funktion umschreibt und du sie ohne Verständnis einbaust. So läuft es hier nun einmal nicht, hier gibt es Hilfe zur Selbsthilfe, keine kostenlosen Dienstleistungen. Wenn du willst, dass dir jemand die Arbeit komplett abnimmt, dann engagiere einen Experten.
Die Funktion parsedSearchParams extrahiert die Query-String-Parameter und speichert als Objekteigenschaften, insbesondere oPars.form und oPars.elem.
insertValue kopiert den Text der gegenwärtigen Auswahl des select-Feldes (http://de.selfhtml.org/javascript/objekte/options.htm) in das angegebene Formularfeld im Ausgangsfenster. Gemäß print("<option value="$id">$plz $ort</option>"); ist das die Postleitzahl und der Ortsname sein. Wenn du Postleitzahl und Ortsname nach Feldern trennen willst, kannst du z.B. mit .text.substring(0, 5) die (fünfstellige) Postleitzahl und mit .text.substring(6) den Rest des Strings, also den Ortsnamen extrahieren.
Mit opener.document.forms.sof.elements.City.value sprichst du den Wert des Formularfeldes City im Ausgangsfenster an (siehe http://de.selfhtml.org/javascript/objekte/forms.htm, http://de.selfhtml.org/javascript/objekte/elements.htm), den Wert des anderen Feldes mit opener.document.forms.sof.elements.PostalCode.value.
So kannst du die fremden komplizierten Funktionen verwerfen (obwohl sie ihrerseits einige Vorteile haben) und eine eigene einfache Funktion insertValue schreiben, die die Postleitzahl in das PostalCode-Feld schreibt und den Ortsnamen in das City-Feld.
Vom Prinzip her:
function insertValue (option_element) {
var auswahltext = option_element.options[option_element.selectedIndex].text;
opener.document.forms.sof.elements.PostalCode.value = auswahltext.substring(0, 5);
opener.document.forms.sof.elements.City.value = auswahltext.substring(6);
window.close();
}
Wenn dir das alles gar nichts sagt und du es nicht eingebaut bekommst, informiere dich bitte über die Grundlagen von JavaScript. Dieses Forum ist eine *Ergänzung* zur SELFHTML-Dokumentation.
Mathias