<input> abhängig von <select> „Ich kapiere es einfach nicht“

Frank73

Mitglied
Hallo zusammen,

und wieder stehe ich vor einem Problem dessen Lösung ich nicht finden kann. Folgende Konstellation:

Ich wähle aus einem <select> Feld einen Eintrag welcher in einer DB hinterlegt ist. Nun gilt es die restlichen Daten aus der DB zu laden und in die entsprechenden <input> Felder einzutragen.

Egal wie ich es anstelle - ich bekomme es nicht hin. Vielleicht hat jemand eine Idee zur Hilfe?

Liebe Grüße
 
Ideen habe ich viele, aber sag doch mal, wo es hakt. Wenn du schon ein Script dazu hast, kannst du auch mal die kritischen Teile posten.
Oder bist du bei dem Thema wirklich völlig unbedarft? ;)
 
Habe gekämpft und gesiegt ;-) um nicht zu sagen - ich habe es geschafft!

Und wenn andere, die sich auch so anstellen wie ich, den Artikel finden, verrate ich mal wie ich es geschafft habe:

Der Aufruf in der Select Box:
Code:
 onchange="htmlData('diephpdatei.php', 'wert='+this.value)

Der Ajax Request
Code:
function GetXmlHttpObject(handler)
{
   var objXMLHttp=null
   if (window.XMLHttpRequest)
   {
       objXMLHttp=new XMLHttpRequest()
   }
   else if (window.ActiveXObject)
   {
       objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
   }
   return objXMLHttp
}

function stateChanged()
{
   if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
   {
           document.getElementById("ergebnis").innerHTML= xmlHttp.responseText;
   }
   else {
           //alert(xmlHttp.status);
   }
}

// Will populate data based on input
function htmlData(url, qStr)
{
   if (url.length==0)
   {
       document.getElementById("ergebnis").innerHTML="";
       return;
   }
   xmlHttp=GetXmlHttpObject()
   if (xmlHttp==null)
   {
       alert ("Browser does not support HTTP Request");
       return;
   }

   url=url+"?"+qStr;
   url=url+"&sid="+Math.random();
   xmlHttp.onreadystatechange=stateChanged;
   xmlHttp.open("GET",url,true) ;
   xmlHttp.send(null);
}

in der PHP Datei nur die $_GET ausgelesen, die Daten aus der DB geholt und ausgegeben - das ganze dann im <div id="ergebnis"> </div> dargestellt.

Google & Co sei Dank für die vielen Fundstellen zum Thema...

LG
 
Zurück