Hallo zusammen,
Ich hoffe es kann mir jemand helfen. Mit AJAX bin ich noch recht unerfahren.
Ich habe mir eine kleine Seite zusammengebaut, welche aus einer Datenbank PC-Hardware, Software und Userrechte auslesen soll.
Dazu sind alle User aufgelistet.
Darunter befinde sich ein <div> welches versteckt ist, und bei klick auf einen User Sichtbar wird. In diesem <Div> stehen "rechte" "software" und "hardware".
Wenn man nun auf eines dieser Links klickt, sollte sichdarunter wieder ein <div> sichtbar schalten, welches die Info anzeigt. Ich dachte daher daran, diesen Schritt mit AJAX zu lösen.
hier ein Beispiellink:
PHP-Code:
echo("<th style='background-color:#FFFFFF; cursor:pointer;' onclick=javascript:setRequest_user(\"".$row['hostname']."\",\"rechte\")>Rechte</th>");
darunter:
PHP-Code:
<div id='content_user_rechte_".$row['hostname']."'></div>
wie man sieht möchte ich gern beim aufruf den hostname mitgeben, um so das jeweils passende <div> zu füllen.
hier nun die das ajax-script:
Code:
// Request senden (bemerkung)
function setRequest_user(host,art) {
// Request erzeugen
if (window.XMLHttpRequest) {
request = new XMLHttpRequest(); // Mozilla, Safari, Opera
} else if (window.ActiveXObject) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
} catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
} catch (e) {}
}
}
// überprüfen, ob Request erzeugt wurde
if (!request) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
} else {
var url = "../edv/userverwaltung/daten.js.php";
// Name auslesen
//var value = document.getElementById('source_'+id).innerHTML;
// Request öffnen
request.open('post', url, true);
// Requestheader senden
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
// Request senden
request.send('art='+art+'&host='+host);
// Request auswerten
request.onreadystatechange = function() {
interpretRequest_user(request);
};
}
}
// Request auswerten (bemerkung)
function interpretRequest_user() {
switch (request.readyState) {
// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
case 4:
if (request.status != 200) {
alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
} else {
var content = request.responseText;
// den Inhalt des Requests in das <div> schreiben
document.getElementById('content_user_rechte_atinp055.win.at.signintra.com').innerHTML = content;
}
break;
default:
break;
}
}
im moment habe ich das noch händisch eingetragen:
Code:
document.getElementById('content_user_rechte_atinp055.win.at.signintra.com').innerHTML = content;
aber super wäre es wenn der "atinp055.win.at.signintra.com" teil per variable übergeben werden könnte.
ich hoffe ich habe euch das problem schildern können.
danke für eure hilfe und mühe