# AJAX Dropdown Post



## AJAX Lauch (17. August 2007)

Also ich bin blutiger AJAX Anfänger. Hab diverse Tutorials durchgelesen aber komm bei meinem Vorhaben nicht weiter.
Zum Sachverhalt:

Ich hab ein Dropdownfeld. Wenn man etwas in diesem Dropdownfeld auswählt, wird ein zweites angezeigt und gleichzeitig mit Werten aus einer Datenbank befüllt, die abhängig von der Auswahl des ersten Dropdownfeldes sind.

Meine Frage wie schaffe ich es, dass das zweite Dropdown angezeigt&befüllt wird ohne das die Seite neu geladen werden muss

Hier sind meine AJAX Versuche das hinzubekommen:


```
<script type="text/Javascript">
	function createXMLHttpRequest() {

	var ua;

	if(window.XMLHttpRequest) {
	    try {
	      ua = new XMLHttpRequest();
	    } catch(e) {
	      ua = false;
	    }
	  } else if(window.ActiveXObject) {
	    try {
	      ua = new ActiveXObject("Microsoft.XMLHTTP");
	    } catch(e) {
	      ua = false;
	    }
	  }
	  return ua;
	}

	var req = createXMLHttpRequest();
	var url = "rech.php";

	function sendRequest() {
	  id = document.getElementById("dropdown").value;
	  req.open("POST",url,true);
	  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	  req.onreadystatechange = tryit;
	  req.send(id);
	}
	
	function tryit(){
		document.frm.i_gruppe.value = req.responseText;
	}
</script>
```

Das JS script ist auf der rech.php also ich verweise nicht auf eine andere Seite.

Er postet es einfach nicht. Hab ich irgendwelche Syntax-Fehler drin?

Ohne den Post werden die Dropdownfelder nicht befüllt und auch nicht angezeigt. Und mit dem Post werden noch viele andere verschiedene Ausgaben getätigt.


----------



## Quaese (17. August 2007)

Hi,

hier ist ein Thread, der das gleiche Thema behandelt. Dort musst lediglich die GET-Methode durch 
POST ersetzen.

```
function sndReq(objSel){
  if(objSel.selectedIndex > 0){
    makeRequest();
    resObjekt.open('post','laender.php',true);
    resObjekt.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    resObjekt.onreadystatechange = handleResponse;
    resObjekt.send('wo='+objSel.selectedIndex);
  }else{
    document.getElementById("hs").innerHTML = strStart;
  }
}
```
Vielleicht kannst du ja etwas damit anfangen.

Ciao
Quaese


----------

