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
laender.js
laender.php
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.
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>
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.