Solved

R5 Frames - Referencing a field in another frame set

Posted on 2001-07-09
12
247 Views
Last Modified: 2013-12-18
In R5 I have 2 frames (top bottom).

The bottom frame has a formula to add 1 to a counter, and then does a Refresh on the top frame.

What I need to do is have the top frame know what the new value of this counter is. So, either I have to be able to add 1 to the counter in the top frame, or pass the value back to the top frame.
0
Comment
Question by:GaryZ
  • 6
  • 6
12 Comments
 
LVL 24

Expert Comment

by:HemanthaKumar
ID: 6265684
Use something like this in onLoad event of the frameset, which will refer the frame2 and set the count field

onLoad="parent.frames[0].document.forms[0].Count.value=parent.frames[1].document.forms[0].Count.value"


~Hemanth

0
 

Author Comment

by:GaryZ
ID: 6265727
Not working for some reason. On the inital load of the frameset I set the counter to 0 in the top frame and to 1 in the bottom, onLoad shows 0 and when the counter is updated in the bottom frame the top frame is stil showing 0.
0
 

Author Comment

by:GaryZ
ID: 6265770
Ah, I think the problem is that the top frame is not being refreshed, I do have the value changing on the initial load.

I have the following code in the button to refresh:

FIELD F6_ShowSection := F6_ShowSection + 1;
@If(F6_ShowSection > F6_MaxSections; @SetField(F6_ShowSection;F6_MaxSections);"");
@SetTargetFrame("Top");
@Command([FileSave]);
@Command([ViewRefreshFields])
0
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 
LVL 24

Expert Comment

by:HemanthaKumar
ID: 6265792
That is right you have to refresh( and you menioned that in the question) the top frame and if you include the JS code whic I posted in onload event will always refer to the frame 2 counter.

~Hemanth
0
 
LVL 24

Expert Comment

by:HemanthaKumar
ID: 6265797
That is right you have to refresh( and you menioned that in the question) the top frame and if you include the JS code whic I posted in onload event will always refer to the frame 2 counter.

~Hemanth
0
 

Author Comment

by:GaryZ
ID: 6265852
Something is not correct.

1. Notes is not refreshing the top frame, if I refresh using the browser button, then the field is refreshed from the bottom frame.

2. For some reason, the "hide-whens" no longer work. At first I had the default value set to the value of the field, and nothing displayed (all hidden). I then changed the default vaue to 1, and the first section displays. When I refresh the complete screen (using the browser refresh button), the counter changes to 2 (from bottom frame), however, the first section still displays, not Section 2.
0
 
LVL 24

Expert Comment

by:HemanthaKumar
ID: 6266046
Just open the form in a browser and test , then see what happens without frameset

0
 

Author Comment

by:GaryZ
ID: 6266102
The frameset being refreshed is the bottom one not the top. I put a "hide-when" in the bottom frame based on the counter and that is working.
0
 
LVL 24

Accepted Solution

by:
HemanthaKumar earned 200 total points
ID: 6266547
You can achieve that by using JS only

For that do this

Have this html Code in the bottom frame

[<Input Type=Button onClick="doThis()">]

[<Script>

function doThis() {

parent.frames[0].src=parent.frames[0].src + "&CountVal=" + parent.frames[1].Count.value + "&"

}
</Script>]

Function doTHis would change the source of the frame with appeneded countval. In the top frame have a hidden field called Query_String_Decoded. This will have the variable "&Countval=x&". Use this to delimit the value and set the counter. This should be done in frame onload event like this
onLoad="document.forms[0].Count.Value=document.forms[0].query_string_decoded.value"

Try this and let me know

~Hemanth
0
 

Author Comment

by:GaryZ
ID: 6268987
When I click on the hotspot, I get a third frame that looks the same as the bottom frame.
0
 

Author Comment

by:GaryZ
ID: 6269233
The "bottom" frame has a counter (F6_ShowSection) that gets incremented when a hotspot is clicked.

The counter has the following code in the onClick event:

parent.frames["top"].document.forms[0].F5_ShowSection.value=document.forms[0].F6_ShowSection.value

The hotspot is updating the counter and not creating a new frame.

The "top" frame has the counter (F5_ShowSection), but the value is not being passed to the top, I am assuming I need to get the top frame to refresh to get the value.
0
 
LVL 24

Expert Comment

by:HemanthaKumar
ID: 6277081
If you refresh the frame, the values will be lost, but if you pass that as the source to the frame then it is retained and aswell it is refreshed.

If you want I can take a look at your db and apply the functionality. Because i have done this sometime ago and is working well.

mailto:Hemanthakumark@bigfoot.com

~Hemanth
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For users on the Lotus Notes 8 Standard client, this article provides information on checking the Java Heap size and adjusting it to half of your system RAM in attempt to get the Lotus Notes 8.x Standard client to run faster.  I've had to exercise t…
  In today’s Arena we can’t imagine our lives without Internet as we are highly used to of it. If we consider our life style just for only 2 min we found that face to face communication is swapped by e-communication.  Every Where from Works place to…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question