|
All: I'm trying to dynamically load a table using AJAX with RPG-CGIDEV2 as the back-end...and I'm getting a weird error that I don't really understand... I have 3 fields on the web page that I'd like the user to fill out (tproject, lampcode, tooltype)...once all 3 have been filled out, I'd like to use AJAX to populate the table based on the data entered...2 of the fields are input boxes with appropriate onBlur events to call getToolRoute and the 3rd is a dropdown box with an onChange event to call getToolRoute...here's my AJAX... function getXmlHttpRequestObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else if(window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } else { alert("Your browser doesn't support AJAX!"); } } var request = getXmlHttpRequestObject(); function getToolRoute() { if (document.getElementById('tproject').value != "" && document.getElementById('lampcode').value != "" && document.getElementById('tooltype').value != "") { if (request.readyState == 4 || request.readyState == 0) { var proj = escape(document.getElementById('tproject').value); var lamp = escape(document.getElementById('lampcode').value); var ttyp = escape(document.getElementById('tooltype').value); var type = escape(document.getElementById('type').value); for (var l = 1; l < 99; l++) { if ((type == 'T' && (l < 6 || l > 8 || l < 10)) || (type == 'Y' && (l < 2))) { for (var s = 1; s <= 6; s++) { if (request) { request.open('GET', '/cgi-test/erqajxtrm?proj=' + proj + '&lamp=' + lamp + '&ttyp=' + ttyp + '&type=' + type + '&lvl=' + l + '&stp=' + s, true); request.onreadystatechange = handleRoute(l,s); request.send(null); } } } } } //request.open('GET', '/cgi-test/erqajxtrm?proj=' + proj + '&lamp=' + lamp + '&ttyp=' + ttyp + '&type=' + type, true); //request.onreadystatechange = handleRoute; //request.send(null); } } function handleRoute() { var x = handleRoute.arguments; var l = x[0]; var s = x[1]; if (request.readyState == 4) { var step = document.getElementById('lvl' + l + 'step' + s); step.innerHTML = ''; //var msgs = document.getElementById('messages'); var str = request.responseText.split("\n"); if (str != "") { step.innerHTML = str; } } else { alert(request.statusText); } } and my html as follows: /$routedetail <tr id="level/%level%/" onMouseOver="this.bgColor='#cddfed';" onMouseOut= "this.bgColor='#FFFFFF';"> <td align="center">/%level%/<input type="hidden" name="lvltype" id= "lvltype" value="/%lvltype%/"></td> <td align="center"><div id="lvl/%level%/step1">/%step1%/</div></td> <td align="center"><div id="lvl/%level%/step2">/%step2%/</div></td> <td align="center"><div id="lvl/%level%/step3">/%step3%/</div></td> <td align="center"><div id="lvl/%level%/step4">/%step4%/</div></td> <td align="center"><div id="lvl/%level%/step5">/%step5%/</div></td> <td align="center"><div id="lvl/%level%/step6">/%step6%/</div></td> </tr> here's the error I'm getting: uncaught exception: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.statusText]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://nal820.nal.com:81/eReqstest/javascript/ajaxroutem.js :: handleRoute :: line 54" data: no] my RPG if helpful: h bnddir('CGITEST/CGIDEV2BND') datfmt(*USA) timfmt(*HMS) h bnddir('QC2LE') ferqrtvar if e k disk extfile('ASCLIB/ERQRTVAR') //-------------------------------------------------------------------- // 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 getApprover pr 32767a /copy qrpglesrc,#funcproto //-------------------------------------------------------------------- // 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 proj s 20a inz d lamp s 20a inz d ttyp s 20a inz d type s 1a inz d lvl s 2p 0 inz d stp s 2p 0 inz d outxml s 32767a /copy qrpglesrc,#constants //-------------------------------------------------------------------- // main //-------------------------------------------------------------------- /free init(); outxml = 'Content-Type: text/html;' + x'1515' + getApprover(); tobrowser(outxml : %len(%trim(outxml)) : gerror); return; /end-free //-------------------------------------------------------------------- // init //-------------------------------------------------------------------- pinit b d pi /copy qcopysrc,prolog3 /free proj = zhbgetvar('proj'); lamp = zhbgetvar('lamp'); ttyp = zhbgetvar('ttyp'); type = zhbgetvar('type'); lvl = %dec(zhbgetvar('lvl'):2:0); stp = %dec(zhbgetvar('stp'):2:0); /end-free pinit e //-------------------------------------------------------------------- // getErrorMsg //-------------------------------------------------------------------- pgetApprover b d pi 32767a d string s 32767a inz('<br>') /free chain (type:proj:lamp:ttyp:' ':lvl:stp) erqrtvar; if %found(erqrtvar); string = getName(rvuser); endif; return string; /end-free pgetApprover e If anyone would be gracious enough to help me, I'd really appreciate it... Shane Cessna Senior iSeries Programmer North American Lighting, Inc. 2275 S. Main St. Suite A Paris, IL 61944 Office - 217.465.6600 x7776 Cell - 618.554.4352
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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.