onClick in Auswahlliste erst wenn Wert gewählt wurde

dwex

Erfahrenes Mitglied
Hallo Leute,

ich habe mir ein Buch gekauft (Ajax mit PHP) und stosse gleich beim ersten Beispiel auf eine Frage welche im Buch nicht behandelt wird.

Also ich habe folgende 3 Dateien:

index.html
HTML:
<html>
<script language="JavaScript" src="laender.js"></script>
<body>
<br>
<form name="f">
In welchem Bundesland wohnen Sie?
<select name="bundesland" size="1" onClick="sndReq()">
<option>Baden-Württemberg</option>
<option>Bayern</option>
<option>Berlin</option>
<option>Brandenburg</option>
<option>Bremen</option>
<option>Hamburg</option>
<option>Hessen</option>
<option>Mecklenburg-Vorpommern</option>
<option>Niedersachsen</option>
<option>Nordrhein-Westfalen</option>
<option>Rheinland-Pfalz</option>
<option>Saarland</option>
<option>Sachsen</option>
<option>Sachsen-Anhalt</option>
<option>Schleswig-Holstein</option>
<option>Thüringen</option>
</select>
</form>
<br>
<span id="hs"></span>
</body>
</html>
laender.js
HTML:
var resObjekt;
if(navigator.appName.search("Microsoft") > -1) {
	resObjekt = new ActiveXObject("MSXML2.XMLHTTP");
} else {
	resObjekt = new XMLHttpRequest();
}

function sndReq() {
	for(i=1; i<=16; i++) {
		if(this.document.f.bundesland.options[i-1].selected) {
			resObjekt.open('get','laender.php?wo='+i,true);
			resObjekt.onreadystatechange = handleResponse;
			resObjekt.send(null);
			break;
		}
	}
}

function handleResponse() {
	if(resObjekt.readyState == 4) {
		document.getElementById("hs").innerHTML = resObjekt.responseText;
	}
}

laender.php
PHP:
<?php

echo "Ihr zuständiger Landesfürst residiert in ";
switch($_REQUEST['wo']) {
	case 1: echo "Stuttgart"; break;
	case 2: echo "München"; break;
	case 3: echo "Berlin"; break;
	case 4: echo "Potsdam"; break;
	case 5: echo "Bremen"; break;
	case 6: echo "Hamburg"; break;
	case 7: echo "Wiesbaden"; break;
	case 8: echo "Schwerin"; break;
	case 9: echo "Hannover"; break;
	case 10: echo "Düsseldorf"; break;
	case 11: echo "Mainz"; break;
	case 12: echo "Saarbrücken"; break;
	case 13: echo "Dresden"; break;
	case 14: echo "Magdeburg"; break;
	case 15: echo "Kiel"; break;
	case 16: echo "Erfurt"; break;

}

?>

Wenn ich nun die index.html lade dann kommt erwartungsgemäß die Frage nach dem Bundesland und das Dropdown und sonst nichts.

Wenn ich dann auf das Dropdown klicke (also auf den Pfeil rechts davon) dann wird mir <span id="hs"> bereits mit dem ersten Element - nämlich Stuttgart - gefüllt.
Das möchte ich aber so nicht - wie kann ich es erreichen, dass dies erst passiert wenn tatsächlich was ausgewählt wurde.

Ich weis ich könnte das über PHP regeln und in das DropDown als erstes z.B. "Bitte wählen..." schreiben - aber ich möchte wissen wie ich das mit JavaScript anstellen kann.

Vielen Dank für euere Hinweise.
 
Merci Sven - jetzt klappts.
Ja es steht genau so in meinem Buch.

Eine Frage noch.
Ich habe PHP hauptsächlich über tut.php-q.net gelernt - gibt es sowas auch auf JavaScript?
 
Keine Ahnung, ich kenne tut.php-q.net nicht :)

Mein Einstieg in JS war SelfHTML, etwas Informativeres ist mir seither nicht begegnet :)
 
Hi,

dann gäb's da auch noch Javascript und Ajax auf galileocomputing, wenn dir das eher liegt. Aber das Javascript-Kapitel von Selfhtml finde ich auch nach wie vor unerreicht, da wirklich zu Allem die Browserunterstützung angegeben und ein Online-Beispiel zu bewundern ist.

LG
 

Neue Beiträge

Zurück