Hallo,
in einem anderen Forum hat man mir geraten bei einer Parameterübergabe in die callback-Funktion "closures" zu verwenden. Das ganz funktioniert im Firefox und im Opera wunderbar, doch im IE7 zickt es rum wenn ich einen Parameter ungleich "" übergebe. Vielleicht kann mir ja hier jemand helfen:
Alles anzeigen
Alles anzeigen
Meiner Meinung nach liegt das Problem in dieser Zeile:
Die beiden Alerts hab ich zum Testen eingebaut - Im Firefox und Opera werden beide korrekt aufgerufen und im Internet Explorer nur beide korrekt wenn ein leerer String übergeben wird, ansonsten nur der in getGemarkungen
Hier noch meine Aufrufe der Funktion:
in einem anderen Forum hat man mir geraten bei einer Parameterübergabe in die callback-Funktion "closures" zu verwenden. Das ganz funktioniert im Firefox und im Opera wunderbar, doch im IE7 zickt es rum wenn ich einen Parameter ungleich "" übergebe. Vielleicht kann mir ja hier jemand helfen:
Quellcode
- // Funktion um die AJAX-Antwort zu verwerten
- function setOutput(selectedGemarkung) {
- if(httpObject.readyState == 4) {
- alert(selectedGemarkung);
- //Leeren der Auswahlbox
- document.getElementById("gemarkung").length = "1";
- // Eintragen der Antwort in die Auswahlbox
- var gemarkungen = httpObject.responseText.split("#");
- for (var i = 0; i < gemarkungen.length-1; ++i) {
- var newEntry = new Option(trim(gemarkungen[i]), trim(gemarkungen[i]));
- if (selectedGemarkung == trim(gemarkungen[i])) {
- newEntry.selected = true;
- }
- document.getElementById("gemarkung").options[document.getElementById("gemarkung").length] = newEntry;
- }
- // Aktivieren des Auswahlbox
- if (document.getElementById("gemarkung").length <= 1) {
- document.getElementById("gemarkung").disabled = true;
- }
- else {
- document.getElementById("gemarkung").disabled = false;
- }
- }
- }
Quellcode
- // Funktion um den AJAX-Aufruf zu starten
- function getGemarkungen(selectedGemarkung) {
- alert(selectedGemarkung);
- httpObject = getHTTPObject();
- // Wenn das AJAx-Objekt angelegt werden konnte
- if (httpObject != null) {
- httpObject.open("GET", "getGemarkungen.php?gemeindeID=" + document.getElementById("gemeinde").options[document.getElementById("gemeinde").selectedIndex].value, true);
- httpObject.send(null);
- httpObject.onreadystatechange = (function(){return function(){setOutput(selectedGemarkung);};})();
- }
- }
Meiner Meinung nach liegt das Problem in dieser Zeile:
Die beiden Alerts hab ich zum Testen eingebaut - Im Firefox und Opera werden beide korrekt aufgerufen und im Internet Explorer nur beide korrekt wenn ein leerer String übergeben wird, ansonsten nur der in getGemarkungen
Hier noch meine Aufrufe der Funktion: