Coldfusion autosave using prototype javascript library. Need to first download prototype.js.
ajax.cfm page:
<html>
<head>
<title>AJAX Zip Checker </title>
<script src=”prototype.js” language=”JavaScript” type=”text/javascript”></script>
<script type=”text/javascript” language=”JavaScript”>
function checkZip(strTextbox) {
txtControl = strTextbox;
var txt = txtControl.name;
var url = ”;
switch(txt)
{
case”zip”:
{
url = ‘checkzip.cfm’;
break;
}
case”something”:
{
url = ‘checksomething.cfm’;
break;
}
}
//var url = ‘checkzip.cfm’;
var params = txtControl.name +’=’ + txtControl.value;
var ajax = new Ajax.Updater(
{success: ‘ajaxResult’},
url,
{method: ‘get’, parameters: params, onFailure: reportError});
}
function reportError(request) {
$F(‘ajaxResult’) = “Error”;
}
//overloaded function
function checkThis(strTextbox, seqnbr) {
txtControl = strTextbox;
var txt = txtControl.name;
var url = ”;
var params;
switch(txt)
{
case”zip”:
{
url = ‘checkzip.cfm’;
//params = ‘zip=’ + $F(‘zip’)+ ‘&recID=’ + $F(‘recID’) ;
break;
}
case”something”:
{
url = ‘checksomething.cfm’;
//params = ‘something=’ + $F(‘something’);
break;
}
}
//var url = ‘checkzip.cfm’;
txtSeq = eval(‘document.Form1.’+seqnbr);
var params = txtControl.name +’=’ + txtControl.value + ‘&recID=’+ txtSeq.value;
var ajax = new Ajax.Updater(
{success: ‘ajaxResult’},
url,
{method: ‘get’, parameters: params, onFailure: reportError});
}
//Handle Errors
function reportError(request) {
$F(‘ajaxResult’) = “Error”;
}
</script>
</head>
<body>
<form name=”Form1″>
<table width=”400″ border=”1″>
<tr>
<td><label for=”label”>zip:</label></td>
<td><input type=”text” name=”zip” id=”zip2″ onChange=”checkThis(this, ‘recID’);” />
<input type=”hidden” name=”recID” value = “1″></td>
</tr>
<tr>
<td> </td>
<td><input type=”text” name=”something”id=”something2″ onChange=”checkZip(this);” ></td>
</tr>
<tr>
<td colspan=”2″><div id=”ajaxResult”></div></td>
</tr>
</table>
</form>
</body>
</html>
checkzip.cfm page:
<cfinclude template=”application_include.cfm”>
<cfif NOT IsDefined(“url.zip”) OR NOT IsNumeric(url.zip)>
<div class=”badzip”>Please enter a valid zip code.</div><cfabort>
</cfif>
<cfquery datasource=”#datasource#” name=”mysql_test”>
SELECT * from tableName
WHERE id = <cfqueryparam cfsqltype=”cf_sql_integer” value=”#url.zip#”>
</cfquery>
<cfif mysql_test.recordcount>
<cfoutput>#mysql_test.fname#, #mysql_test.lname# — #url.RecID#</cfoutput>
<cfelse>
<div class=”goodzip”>Name not found.</div>
</cfif>