|
yeah, i know...we haven't upgraded yet...not sure when we are either...
Shane
"Greg Oziemkiewicz" <goziemkiewicz@xxxxxxxxxx>
Sent by: web400-bounces@xxxxxxxxxxxx
09/21/2006 11:17 AM
Please respond to
Web Enabling the AS400 / iSeries <web400@xxxxxxxxxxxx>
To
"Web Enabling the AS400 / iSeries" <web400@xxxxxxxxxxxx>
cc
Subject
Re: [WEB400] AJAX
Shane,
V5R4 free-form lets you clean up those SQL exec statements.
Greg Oziemkiewicz
-----Original Message-----
From: Shane_Cessna@xxxxxxx
To: Web Enabling the AS400 / iSeries <web400@xxxxxxxxxxxx>
Date: Thu, 21 Sep 2006 09:58:55 -0500
Subject: Re: [WEB400] AJAX
Wow...thanks to all who have given feedback and suggestions on this...I
really appreciate it...
Here's how I got a small amount AJAX to work using CGIDEV2...
HTML file ajaxtest.html
-----------------------
<html>
<head>
<script src="firstnameajax.js"></script>
</head>
<body>
<form>
First Name:
<input type="text" id="txt1"
onkeyup="showHint(this.value)">
</form>
<p>Suggestions: <span id="txtHint"></span></p>
</body>
</html>
Javascript file firstnameajax.js
--------------------------------
var xmlHttp
function showHint(str) {
if (str.length==0) {
document.getElementById("txtHint").innerHTML="";
return;
}
xmlHttp = GetXmlHttpObject();
if (xmlHttp==null) {
alert ("Browser does not support HTTP Request");
return;
}
var url = "/cgi-bin/ajxfirstnm";
url = url + "?q=" + str;
url = url + "&sid=" + Math.random();
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged() {
if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
document.getElementById("txtHint").innerHTML = xmlHttp.responseText;
}
}
function GetXmlHttpObject() {
var objXMLHttp = null;
if (window.XMLHttpRequest) {
objXMLHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
return objXMLHttp;
}
SQLRPGLE Program AJXFIRSTNM
---------------------------
h bnddir('CGIBIN/CGIDEV2BND') datfmt(*USA) timfmt(*HMS)
h dftactgrp(*no) actgrp('AJAX') bnddir('TEMPLATE2':'QC2LE')
//--------------------------------------------------------------------
// Prototypes
//--------------------------------------------------------------------
/copy cgidev2/qrpglesrc,prototypeb
/copy cgidev2/qrpglesrc,variables3
/copy cgidev2/qrpglesrc,usec
d init pr
d tobrowser pr extproc('QtmhWrStout')
d data like(outxml)
d length 10i 0 const
d error like(gerror)
d getFirstNames pr 500a
d 20a
//--------------------------------------------------------------------
// Data Structures
//--------------------------------------------------------------------
d gerror ds qualified
d bytesp 10i 0 inz(56)
d bytesa 10i 0
d msgid 7
d reserved 1
d data 40
//--------------------------------------------------------------------
// Global Variables
//--------------------------------------------------------------------
d path s 1024a inz
d q s 20a inz
d q2 s 20a inz
d outxml s 256a
/copy qrpglesrc,#constants
//--------------------------------------------------------------------
// main
//--------------------------------------------------------------------
/free
init();
if q = *blanks;
outxml = 'Content-Type: text/plain' + x'1515' + ' ';
else;
q2 = %trim(q) + '%';
outxml = 'Content-Type: text/plain' + x'1515' +
getFirstNames(q2);
endif;
tobrowser(outxml:%len(%trim(outxml)):gerror);
return;
/end-free
//--------------------------------------------------------------------
// init
//--------------------------------------------------------------------
pinit b
d pi
/copy qcopysrc,prolog3
/free
q = zhbgetvar('q');
/end-free
pinit e
//--------------------------------------------------------------------
// getFirstNames
//--------------------------------------------------------------------
pgetFirstNames b
d pi 500a
d parm 20a
d string s 500a inz
d name s 50a inz
d spacepos s 2p 0 inz
c/exec sql
+ declare names cursor for
+ select distinct usrdesc
+ from nalcustom/users
+ where usrdesc like :parm
+ order by usrdesc
c/end-exec
/free
exsr $open;
exsr $fetch;
dow sqlcod = 0;
spacepos = %scan(' ':name);
if spacepos > 0 and %scan(%subst(name:1:spacepos-1):string) = 0;
string = %trim(string) + %subst(name:1:spacepos-1) + '<br>';
endif;
exsr $fetch;
enddo;
exsr $close;
return string;
/end-free
//--------------------------------------------------------------------
// $open
//--------------------------------------------------------------------
c $open begsr
c/exec sql
+ open names
c/end-exec
c endsr
//--------------------------------------------------------------------
// $fetch
//--------------------------------------------------------------------
c $fetch begsr
c/exec sql
+ fetch from names into :name
c/end-exec
c endsr
//--------------------------------------------------------------------
// $close
//--------------------------------------------------------------------
c $close begsr
c/exec sql
+ close names
c/end-exec
c endsr
pgetFirstNames e
Thanks again to all who helped me...hope this helps others...
Shane Cessna
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.