Hope someone can advise.
I'm looking for away of either pasing a parameter to my .js function (which I think is impossible), or being able to access which element was clicked from within the function.
I have a group of three fields which can be replicated, field 2 changes on field 1, and field 3 on field 2.
I do not want to have to replicate my function 6 or 10 times, just because a single pararameter is changing - EXTREMELY inefficient. Maybe I am missing something.
My code for reference for a single instance looks like this:
function update_data()
{
var optionsArray =IWDatacapture.getItem("/CST[1]/Category").getOptions();
var dest="";
var recID =optionsArray[IWDatacapture.getItem("/CST[1]/Category").getValue()].value;
var objXML = new ActiveXObject("Microsoft.XMLDOM");
objXML.async = false;
var ok = objXML.load("/iw-mount/default/main/ba_uk/WORKAREA/test/test/XMLResults.asp?ID=" + recID);
if (ok == false)
{
alert("XML Error: " + objXML.parseError.reason)
}
else
{
//Grab resulting elements
var xmlNodes = objXML.selectNodes("//elem");
//populate drop-down
populate_dropdown_values(xmlNodes, "/CST[1]/Subject")
}
}
//************************************************************
function populate_dropdown_values(objNodes, sel)
{
newOptions = new Array();
//loop thru nodes, adding to drop-down
for (var z=0; z<objNodes.length; ++z)
{
newOptions = new Option (objNodes.getAttribute("text"),objNodes.getAttribute("id"),false,false);
}
//set first item in list to be default
newOptions[0] = new Option (objNodes[0].getAttribute("text"),objNodes[0].getAttribute("id"),true,true);
IWDatacapture.getItem(sel).setOptions(newOptions);
IWDatacapture.redraw()
}
IWEventRegistry.addItemHandler("/CST[1]/Category", "onItemChange", update_data);
Edited by Piers on 02/28/03 04:18 PM (server time).