I am using ajax to display a region from another page. This region has 2 text fields and a button that when pressed branches to another page. When I input the data and click the button I get an error:
Error Item ID (10060522396890067) is not an item defined on the current page.
I saw this happening after upgrad to 3.1. Find out which item id it is and delete it. After deletion you need to recreate the same.
If the region runs correctly when I run that page (144) stand alone I am unsure why it would get confused when I pull it onto page 1 from page 144 and run it. Is the wwv_flow.accept firing on page 1 or page 144?
Ok. This is what I did:
I have Page 1 designated as my Dashboard Page.
On Page 144 I have region (‘STUDENT_SEARCH’) with 3 form_elements (‘P144_STUDENT_SEARCH_ID’, ‘P144_STUDENT_SEARCH_LAST_NAME’,’P144_STUDENT_SEARCH_FIRST_NAME’) and ‘Go’ button that branches to an interactive report (passing the 3 elements as IR filters).
I want to display the ‘STUDENT_SEARCH’ region from Page 144 on Page 1.
In the HTML header of Page 1 I created this function.
var get = new htmldb_Get(null,$x('pFlowId').value,null,144);
gReturn = get.get(null,'<div id="STUDENT_SEARCH">','</div id="">');
I have a PL/SQL region on Page 1 that calls this function:
The ‘STUDENT SEARCH’ region from page 144 displays fine. But when I try to submit, I get an error saying ‘item IDxxxxxxxxxx does not exist on the current page’. I did an export of the application and viewed the file for ‘IDxxxxxxxxxx’. It seems to be pointing to ‘P144_STUDENT_SEARCH_ID’. Am I missing something?
I'm getting the same error, also running Apex V3.1 <strong>using FireFox</strong>. I just noticed that it doesn't get this error in <strong>Internet Explorer 6</strong>. IE seems to do everything just fine. If I try to run in Google Chrome (even though that won't be supported for this application), it won't do the AJAX pull or run the process when you click the Save button. Aaagh!
Even though I created the application under Apex 3.1, I tried the suggestion above of dropping the item and recreating it (using the same name).
I used the AJAX Region Pull code from the late, great Carl Backstrom. It works nicely so long as I don't try to save changes on my form.
I just disabled the Update process and the form still gives the above error.
Edited by: StewStryker on Nov 5, 2008 1:45 PM
Can you put an example of what you are trying to do on apex.oracle.com? It will be much easier for us to understand, follow the code you are using, and try to help.
In principle, AJAX related methods, in the APEX built-in library are written to support both IE and FF at the same time.
I just recreated the functionality on apex.oracle.com at http://apex.oracle.com/pls/otn/f?p=51000
Instructions are on both visible pages.
Basically, from a report of demo_orders, select an order. Then on the demo_orders form, change the customer using the Select List. Customer is <strong>not</strong> the primary key, so the value should be changeable. Click the Apply button and see Apex's error.
I've created a developer account for folks to try it out:
Thanks very much,
As I suspected, your problem (and the others who started this thread) has nothing to do with the browser you are using, but in the way you are using the technique described by Carl, and was (of course) spotted correctly by Scott.
In my answer, I’m also referencing your post in here - Re: Partial refreshing of pages in 2.0 ? >> I've looked at the source that's generated by my page and don't find an extraneous <form> tag
Carl didn’t mean the <form> tag itself but to form input components in general, like items. In your case, we are talking about ‘P20_CUST_ID’, which you defined as a hidden item on page 20. Although hidden, this item is being rendered on page 20, and is included in the ‘box’ you are clipping from this page. While submitting page 2 (apply changes) the APEX engine finds on page 2 and item which not belong to this page, so it issue an error message.
In your specific case, where the item – P20_CUST_ID – is a hidden one, the solution is very simple. Just set the condition of the item to ‘never’. That will prevent it from being rendered on page 20, so it will not be copied to page 2. I did that on your demo application, and now it seems to work just fine.
In general, if the item you are using in the remote page must be a regular item (and not a hidden one) you need to use Scott suggestion, and put it in a region that you don’t clip as part of your AJAX process.
Arie and Scott,
Thanks for the replies. I'm still enough of a noob to have not understood just what items Scott was talking about, but Arie's detailed explanation cleared it up perfectly!
Thanks for explaining so clearly that even I could understand! :-)
If I could give you points for the answer, I would!
Thanks again for everyone's help,