Mahlzeit,
ich habe ein kleines Problemchen bezüglich JavaScript, bei dem mir Google und Co. leider nicht weiterhelfen konnten. Aber vielleicht könnt ihr das ja..
Was ich möchte:
Ich habe ein DIV und einen Link. Wenn ich auf den Link klicke, soll im DIV eine Zufallszahl auftauchen. Bei jedem Klick eine neue Zahl. Das ganze soll über HTTP-Request laufen, da ich später noch mehr PHP-Gedöns mit $_GET und so einbauen werde.
Was ich habe:
Ein DIV mit der ID "rand" und einen Link, welches ein OnClick-Event auslöst. Außerdem gibt es die Datei random.php, welche letztendlich nur eine Zufallszahl via echo ausgibt. Die OnClick-Geschichte ist nur minimal verändert von einer anderen Seite übernommen und sieht folgendermaßen aus:
Das Problem:
Der Internet Explorer macht noch nicht exakt das, was er soll. Man kann leider nur beim allerersten Klick eine neue Zufallszahl anzeigen lassen. Auf weitere Klicks reagiert er nicht mehr. In jedem anderen Browser kann man 100 mal klicken und es erscheint eine neue Zahl, nur im IE klappt es nur beim allerersten mal. Wisst ihr warum, beziehungsweise, was ich tun kann?
Vielen Dank!
EDIT: Ich habe gerade eine Möglichkeit gefunden, mit der es funktioniert. Dafür muss ich die Zeile
ändern in
Offenbar setzt der IE also nicht jedes mal einen neuen Request ab. Wenn ich den Request allerdings mithilfe von math.random leicht abändere, dann kommt tatsächlich ein neuer Request. Das kann doch nicht normal sein, oder?
ich habe ein kleines Problemchen bezüglich JavaScript, bei dem mir Google und Co. leider nicht weiterhelfen konnten. Aber vielleicht könnt ihr das ja..
Was ich möchte:
Ich habe ein DIV und einen Link. Wenn ich auf den Link klicke, soll im DIV eine Zufallszahl auftauchen. Bei jedem Klick eine neue Zahl. Das ganze soll über HTTP-Request laufen, da ich später noch mehr PHP-Gedöns mit $_GET und so einbauen werde.
Was ich habe:
Ein DIV mit der ID "rand" und einen Link, welches ein OnClick-Event auslöst. Außerdem gibt es die Datei random.php, welche letztendlich nur eine Zufallszahl via echo ausgibt. Die OnClick-Geschichte ist nur minimal verändert von einer anderen Seite übernommen und sieht folgendermaßen aus:
Code:
function getHttpRequest()
{
var xmlhttp = null;
// Mozilla
if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject)
{
xmlhttp = new ActiveXObject("Microsoft.xmlhttp");
}
xmlhttp.open("GET", 'random.php', true);
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState != 4)
{
document.getElementById('rand').innerHTML = 'Laden';
}
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
document.getElementById('rand').innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null);
}
Das Problem:
Der Internet Explorer macht noch nicht exakt das, was er soll. Man kann leider nur beim allerersten Klick eine neue Zufallszahl anzeigen lassen. Auf weitere Klicks reagiert er nicht mehr. In jedem anderen Browser kann man 100 mal klicken und es erscheint eine neue Zahl, nur im IE klappt es nur beim allerersten mal. Wisst ihr warum, beziehungsweise, was ich tun kann?
Vielen Dank!
EDIT: Ich habe gerade eine Möglichkeit gefunden, mit der es funktioniert. Dafür muss ich die Zeile
Code:
xmlhttp.open("GET", 'random.php', true);
Code:
xmlhttp.open("GET", 'random.php?hash=' + Math.random(), true);
Zuletzt bearbeitet: