hi guys,
I've only recently started to use ajax and the script in question works perfectly in mozilla firefox but not in IE 6?? IE doesn't even state that there is an error?
here is my code
Code:
<!--
var fromUser;
var toUser;
function scroll()
{
var objDiv = document.getElementById("messages");
objDiv.scrollTop = objDiv.scrollHeight;
}
function submitenter(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;
if (keycode == 13)
{
messageSend(document.getElementById("message").value);
document.getElementById("message").value = "";
return false;
}
else
return true;
}
function createRequestObject() {
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
var http = createRequestObject();
function messageFetch() {
http.open('get', 'ajax/messages.php?from='+fromUser+'&to='+toUser, true);
http.onreadystatechange = handleResponse;
http.send(null);
}
function handleResponse() {
if(http.readyState == 4){
var response = http.responseText;
if(response.length != 0 && response != null) {
document.getElementById('messages').innerHTML = document.getElementById('messages').innerHTML + response;
soundManager.play('beep');
}
}
}
function messageSend(message) {
http.open('get', 'ajax/sendmessage.php?message='+message+'&from='+fromUser+'&to='+toUser, true);
document.getElementById('messages').innerHTML = document.getElementById('messages').innerHTML + "From you:<br />" + message + "<br />" ;
http.send(null);
setTimeout("scroll()", 50);
}
function setTimer() {
messageFetch();
setTimeout("scroll()", 50);
getMessages();
}
function getMessages() {
setTimeout("setTimer()", 5000);
}
//-->
Have you tried to debug it to see if it is making it to the server? Have you added alert statemenets or used Firebug Lite to figure out where it is stopping?
Eric
__________________
Tech Author [Ajax In Action, JavaScript: Visual Blueprint]
I have run into more problems, it works the 1st time round then it just keeps looping the 1st data received and doesn't receive any more, atleast it can send messages :P