DiPa: Daten werden nicht via "innerHTML" eingesetzt

Beitrag lesen

Ich habe derzeit folgendes Problem:
Ich möchte ein Registrierungsformular entwerfen, welches dem Nutzer zeigt, ob der gewünschte Name schon in der Datenbank vorhanden ist oder noch benutzbar ist. Dafür habe ich ein PHP-Skript entwickelt, welches in der MySQL-Datenbank nach eventuell vorhandenen Werten sucht und eine graphische Meldung ausgibt.

Das Skript arbeitet mit einer Übergabe des Namens via URL; die Ausgabe sieht so aus:
Nicht vergebene Namen
Vergebener Name

Diese Ausgabe möchte ich mithilfe von Ajax in mein Formular einbinden. Das Feld für den Benutzernamen lautet "username", das gewünschte Ausgabefeld für die Nachricht lautet "apDiv56".

Das PHP-Skript erzeugt einen standardkonformen HTML-Code, welcher nun in das DIV-Feld "apDiv56" geschrieben + angezeigt werden soll.

Das PHP-Skript folgt nach dem Muster "lookfor.php?username=" + Name

Mein Ajax-Code wird extern eingebettet und sieht wiefolgt aus:

var request = false;  
  
try {  
	request = new XMLHttpRequest();  
}  
catch (trymicrosoft) {  
	try {  
		request = new ActiveXObject("Msxml2.XMLHTTP");  
	}  
	catch (othermicrosoft) {  
		try {  
			request = new ActiveXObject("Microsoft.XMLHTTP");  
		}  
		catch (failed) {  
			request = false;  
		}  
	}  
}  
function getFetchedInput () {  
	var inputusername = document.getElementById("username").value;  
	var query = "lookfor.php?username=" +  
	escape(inputusername);  
	// request.open ("GET", url, true);  
	// request.onreadystatechange = updateusernameField;  
	// request.send (null);  
	  
	//alert on finding all letters  
}  
  
function getCompleteInput () {  
	var inputusername = document.getElementById("username").value;  
	var query = "lookfor.php?username=" +  
	escape(inputusername);  
	request.open ("GET", query, true);  
	request.onreadystatechange = updatePreview;  
	request.send (null);  
}  
function updateusernameField () {  
	if (request.readyState == 4) {  
		if (request.status == 200) {  
			var response = request.responseText;  
			if (response == true) {  
				document.getElementById("username").className = 'verified';  
			} else {  
				document.getElementById("username").className = 'mistake';  
			}  
		}  
	}  
}  
function updatePreview () {  
          	if (request.readyState == 4) {  
          		if (request.status == 200) {  
          			alert(request.responseText);  
          			document.getElementById("apDiv56").innerHTML = request.responseText;  
          			  
          		}  
          	}  
}  

Der Javascript-Code gibt nun erfolgreich den meterlangen Code meines PHP-Skripts über den "alert"-Befehl aus. Nun kommt das Problem, dass der "innerHTML"-Befehl den HTML-Code (ursprünglich vom PHP-Skript) nicht einbettet. Das soll heißen, es gibt keine Änderung im Quellcode und auch keine sichtbare Änderung erfolgt.

Was muss ich ändern, damit es klappt?