Hallo,
So jetzt ein paar Codeschnipsel:
das ist das einzige was an der Funktion die bei onChange aufgerufen wird irgendwas löscht.var anzahl_zuloeschen = document.getElementById('kontinent').length-1;
Das Element mit der ID "kontinent" ist ein SELECT-Element?
Wenn ja, dann ist hiernach anzahl_zuloeschen gleich der Länge der options-Collection dieses SELECT-Elements minus 1.
Nehmen wir an, das SELECT hätte 5 OPTIONS, dann ist anzahl_zuloeschen = 4.
for(i=0; i<=anzahl_zuloeschen; i++)
{ var geloescht =
document.getElementById('kontinent').
removeChild(document.getElementById('kontinent').lastChild);
}
Hiermit wird nun 5 Mal (für i von 0 bis 4) das lastChild des SELECT-Elements gelöscht. Je nach Browser sind das _nicht_ jedesmal OPTION-Elemente. Im IE und FF ist die SELECTION hiernach _nicht_ leer, wenn der HTML-Code so aussieht:
<select name="kontinent" size="4" id="kontinent">
<option value="EU">Europa</option>
<option value="AF">Afrika</option>
<option value="AS">Asien</option>
<option value="AU">Australien</option>
<option value="AM">Amerika</option>
</select>
Einige .lastChilds sind hier nämlich white-spaces (Zeilenumbrüche).
Nutze besser statt .lastChild die options-Collection direkt, wie in http://de.selfhtml.org/javascript/objekte/options.htm#elemente_loeschen beschrieben.
Zu Deiner eigentlichen Frage: siehe Felix. Ich will Dir nur zeigen, dass Du mit diesem Code noch mehr Probleme bekommen wirst.
viele Grüße
Axel