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 thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.