PDA

View Full Version : My Broken AJAX auto reload DIV



mattd8752
Mar 10th, 2007, 01:17 AM
I spent a little while, I can't find why my script won't work.

http://www.bluebob88.com/matt/racing/chat.php

That is the demo, it should (in the loading... section) show a blank area, since ajax.php is blank.

The message, if you hit enter, I don't think it should reset, and I don't think my sendRequest object is working proper. If anyone could take a look at the script I would really appreciate it.


function createRequestObject() {
var req;
if(window.XMLHttpRequest){
// Firefox, Safari, Opera...
req = new XMLHttpRequest();
} else if(window.ActiveXObject) {
// Internet Explorer 5+
req = new ActiveXObject("Microsoft.XMLHTTP");
} else {
// There is an error creating the object,
// just as an old browser is being used.
alert('Problem creating the XMLHttpRequest object');
}
return req;

}

function handleDivTag(divtag)
{
var divtag;
return divtag;
}

// Make the XMLHttpRequest object
var http = createRequestObject();


// Create the Divtag Handler -- Mainly an IE 6 Fix
var divhandler = new handleDivTag(null);

function sendRequest(act,divtag) {
// Open PHP script for requests
http.open('get', 'ajax.php?act='+act);
http.onreadystatechange = handleResponse;
divhandler.divtag = divtag;
http.send(null);

}

function handleResponse() {

if(http.readyState == 4 && http.status == 200){

// Text returned FROM the PHP script
var response = http.responseText;

if(response) {
// UPDATE ajaxTest content
document.getElementById(divhandler.divtag).innerHTML = response;
}

}

}

Thats AJAX.js.

Now here is chat.php.

<html>
<head>
<title>AJAX Example</title>
<script language="Javascript" type="text/javascript" src="/ajax.js"></script>
</head>
<script type="text/javascript">
<!--
function timingex( ){
setTimeout("sendRequest('chat', 'chat');",100);
}
// -->
</script>
<body onLoad="timingex( )">

<div id="chat" align="center">
Chat loading...

</div>
<br /><br />
<div align="center">Message: <form name="message" onsubmit="sendRequest(message.msg.value, 'chat'); message.msg.value = '';"><input type="text" name="msg" /></form></div>


</body>
</html>


I don't see what is wrong with it, please help.

david_kw
Mar 10th, 2007, 05:09 PM
The code in this post and the code on the link are very different. Did you figure out the problem and move on?

david_kw

mattd8752
Mar 10th, 2007, 09:51 PM
I used a new script. I couldn't figure out how that library worked.