Einzelnen Beitrag anzeigen
  #1  
Alt 03.09.2009, 16:24:49
Memorix Memorix ist offline
Anfänger
 
Registriert seit: Aug 2008
Alter: 35
Beiträge: 8
JavaScript funktioniert nur bei alert() ausgabe

Hallo zusammen,

ich bastel momentan an einem Ajax basieren Template System und stehe vor einem für mich nicht verständlichen Problem und hoffe das ihr mir ein wenig helfen könnt.
Und zwar funktioniert der folgende Java Code nur, wenn ich in Zeile 33 (durch --><-- Markiert) einen alert erzeuge. Wenn ich diesen alert beispielsweise auskommentiere, wird das Script scheinbar nicht ausgeführt. Auch die Fehlerkonsole weißt keine Einträge vor.

HTML-Code:
<script type="text/javascript">
<!--
var request = false;

// Request senden
function setRequest(value,action) {
	// 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) {}
		}
	} // END IF	

// überprüfen, ob Request erzeugt wurde
	if (!request) {
		alert("Kann keine XMLHTTP-Instanz erzeugen");
		return false;
	} else {
		var url = "module.php";
		// Request öffnen
		request.open('post', url, true);
		// Requestheader senden
		request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		// Request senden
		request.send('mod='+value);
		// Request auswerten



---Hier------->alert('Action:'+action);<--Hier ist die besagte alert box-------
		


request.onreadystatechange = interpretRequest(action);
	}
}

// Request auswerten
function interpretRequest(action) {
	switch (request.readyState) {
		// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt
		case 4:
			if (request.status != 200) {
				alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
			} else {
				switch (action) {
					case 'load_template':
						var content = request.responseText;
						// den Inhalt des Requests in das <div> Tag schreiben
						document.getElementById('main').innerHTML = content;
						break;
					case 'load_calender':
						//Platzhalter
						break;
					case 'load_address':
						//Platzhalter
						break;
					default:
						alert('Parameter \'action\' is not define or incorect in function \'interpretRequest\'');
				}
			}
			break;
		default:
		break;
	}
}


//-->
</script>
Es scheint auch völlig irrelevant zu sein, was in der alert box ausgegeben wird. Auch ein

HTML-Code:
alert('Just for testing');
funktioniert tadellos. Für mich ist das alles andere als nachvollziehbar da die alert box ja eigentlich nichts mit dem Script an sich zutun hat. Könnt ihr euch das erklären?

Lieben Gruß

Memorix
Mit Zitat antworten