Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Change from SelectList to Popup LOV, Onchange Javascript breaks. Apex 3.2.1

Ronnie_in_CraigavonNov 25 2010 — edited Nov 26 2010
Hi,

I have a pretty standard piece of Javascript that populates two page items based upon the result of a select list.
I'd like to change the select list to a Pop-Up LOV, but this breaks the functionality.
I presume that I need to use a different var get function, however, have had no luck in trialing different solutions.

Can anyone help?
Details Below.

Regards-

Ronald.

--------

Function Overview:

Select List P4_PRODUCT_ID selects two product parameters: area and item, and puts them into P4_AREA_ID and P4_ITEM_ID.

P4_AREA_ID and P4_ITEM_ID are pop up LOV's and happily accept the text input.

I wish to change P4_PRODUCT_ID to also be a pop up LOV, but when doing so, it breaks the dynamic functionality.

--------------

CODE:

Select List: P4_PRODUCT_ID
HTML Form Element Attributes:
onchange="pull_multi_value(this.value)";
P4 Page Header:
You'll see that I've tried several methods, none worked. Am I using the wrong one?
<script type="text/javascript">
<!--

function pull_multi_value(pValue){
//     var get = new htmldb_Get(null,html_GetElement('pFlowId').value,'APPLICATION_PROCESS=Set_Multi_Items',0);
       var get = new htmldb_Get(null,html_SelectValue('pFlowId'),'APPLICATION_PROCESS=Set_Multi_Items',0);
//     var get = new htmldb_Get(null,html_GetElement('pFlowId').innerHTML,'APPLICATION_PROCESS=Set_Multi_Items',0);
//     var get = new htmldb_Get(null,html_GetElement('pFlowId').innerHTML=$v(pFlowId),'APPLICATION_PROCESS=Set_Multi_Items',0);	   
if(pValue){
get.add('PRODUCT_ID',pValue)
}else{
get.add('PRODUCT_ID','null')
}    

    gReturn = get.get('XML');

    if(gReturn){
        var l_Count = gReturn.getElementsByTagName("item").length;
        for(var i = 0;i<l_Count;i++){
            var l_Opt_Xml = gReturn.getElementsByTagName("item");
var l_ID = l_Opt_Xml.getAttribute('id');
var l_El = html_GetElement(l_ID);
if(l_Opt_Xml.firstChild){
var l_Value = l_Opt_Xml.firstChild.nodeValue;
}else{
var l_Value = '';
}

if(l_El){
if(l_El.tagName == 'INPUT'){
l_El.value = l_Value;
}else if(l_El.tagName == 'SPAN' &&
l_El.className == 'grabber'){
l_El.parentNode.innerHTML = l_Value;
l_El.parentNode.id = l_ID;
}else{
l_El.innerHTML = l_Value;
}
}
}
}
get = null;
}

//-->
</script>
Application Process: Set_Multi_Items
DECLARE
v_area VARCHAR2 (200);
v_item VARCHAR2 (200);

CURSOR cur_c
IS
SELECT AREA_ID, ITEM_ID
FROM PRODUCTS
WHERE PRODUCT_ID = TO_NUMBER (v ('PRODUCT_ID'));
BEGIN
FOR c IN cur_c
LOOP
v_area := c.AREA_ID;
v_item := c.ITEM_ID;
END LOOP;

OWA_UTIL.mime_header ('text/xml', FALSE);
HTP.p ('Cache-Control: no-cache');
HTP.p ('Pragma: no-cache');
OWA_UTIL.http_header_close;
HTP.prn ('<body>');
HTP.prn ('<desc>this xml genericly sets multiple items</desc>');
HTP.prn ('<item id="P4_AREA_ID">' || v_area || '</item>');
HTP.prn ('<item id="P4_ITEM_ID">' || v_item || '</item>');
HTP.prn ('</body>');
EXCEPTION
WHEN OTHERS
THEN
OWA_UTIL.mime_header ('text/xml', FALSE);
HTP.p ('Cache-Control: no-cache');
HTP.p ('Pragma: no-cache');
OWA_UTIL.http_header_close;
HTP.prn ('<body>');
HTP.prn ('<desc>this xml genericly sets multiple items</desc>');
HTP.prn ('<item id="P4_AREA_ID">' || SQLERRM || '</item>');
HTP.prn ('</body>');
END;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 24 2010
Added on Nov 25 2010
1 comment
751 views