This is how I encapsulate them in the calling form:
Code: Select all
var filters=new Array();
// Loop through all fields and add them to an array
for ( var field in Iterator(fields.iterator()) ) {
// Do not add these fields
if (field.value != null && field.elementName != "MENU" && field.elementName != "REALNAME" && field.elementName != "FILTER_PARAMETERS") {
filters.push([field.elementName,encodeURIComponent(field.value)]);
}
}
var parms = {};
parms.FILTER_PARAMETERS=filters;
parms.Menu=true;
form.gotoForm("MTS_DTL",parms);
The form being called, MTS_DTL, has a FILTER_PARAMETERS field that has the URL parameter property set. If I print out the value of fields.FILTER_PARAMETERS.value in the before page event of MTS_DTL, the log file shows me org.mozilla.javascript.NativeArray@44a47538 and cannot be accessed like a JavaScript array. IF I print out the results of Array.isArray(fields.FILTER_PARAMETERS.value) it returns false.
What could have changed to cause this ? Would switching to https change the way parameters are passed from one form to another ? It never used to do this.