This is more a quick reference for me than anything else. Below is a CFML'ed up version of the AJAX tutorial from w3schools.com.
index.cfm
<html> <head> <script src="js/script.js" type="text/javascript"></script> </head> <body> <form name="myForm"> Name: <input id="username" type="text" onkeyup="ajaxFunction();" /> Time: <input id="time" type="text" /> </form> </body> </html>
time.cfm
<cfoutput>#timeFormat(now())#</cfoutput>
script.js
function ajaxFunction() { var xmlhttp; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else if (window.ActiveXObject) { // code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } else { alert("Your browser does not support XMLHTTP!"); } xmlhttp.onreadystatechange=function() { if(xmlhttp.readyState==4) { document.myForm.time.value=xmlhttp.responseText; } } xmlhttp.open("GET", "time.cfm", true); xmlhttp.send(null); }
Prototype
And to achieve the same thing with the prototype library:
index.cfm
... <head> ... <script src="js/prototype-1.6.0.3.js" type="text/javascript"></script> ... </head> ...
time.cfm - as above
script.js
function ajaxFunction() { var request = new Ajax.Request("time.cfm", { method: "get", onComplete: function(xmlhttp){ $('time').value = xmlhttp.responseText; } }); }