How to get value of Child Item in Related Items View
When opening up a New form from a Related Items view, I'm using the following code to populate the Child item from the Parent item:
//Populate fields from existing related item (**This Works**)
fd.field('HireDate').value(window.top.fd.field('HireDate').value());
fd.field('BeginningBalance').value(window.top.fd.field('BeginningBalance').value());
fd.field('Points').value(window.top.fd.field('Points').value());
However, populating a Child item from the newly created Parent Item does not work.
Scenario:
1. Edit existing item #1 (works)
2. Create New item #2 in Related View from the Edit Item #1 (works) **fields in item #2 form pre-populate correctly**
3. The newly created item #2 appears in the Related Items view in item #1 (works)
4. Edit newly created item #2 from Related View while still in the original Edit item #1 (works)
5. Create New item #3 in Related View from the Edit Item #2 (there are now two pop up windows open) (works)
6. **Does Not Work** item #3 is populating fields from item #1 instead of item #2 from where it is being created.
Hope that makes sense. Let me know if you have any questions.
Thanks!!!
//Populate fields from existing related item (**This Works**)
fd.field('HireDate').value(window.top.fd.field('HireDate').value());
fd.field('BeginningBalance').value(window.top.fd.field('BeginningBalance').value());
fd.field('Points').value(window.top.fd.field('Points').value());
However, populating a Child item from the newly created Parent Item does not work.
Scenario:
1. Edit existing item #1 (works)
2. Create New item #2 in Related View from the Edit Item #1 (works) **fields in item #2 form pre-populate correctly**
3. The newly created item #2 appears in the Related Items view in item #1 (works)
4. Edit newly created item #2 from Related View while still in the original Edit item #1 (works)
5. Create New item #3 in Related View from the Edit Item #2 (there are now two pop up windows open) (works)
6. **Does Not Work** item #3 is populating fields from item #1 instead of item #2 from where it is being created.
Hope that makes sense. Let me know if you have any questions.
Thanks!!!
The reason for that is that window.top references the topmost window. You'll need to iterate through all iframes (embedded html documents) and compare with the source URL parameter to get the appropriate iframe
Code: Select all
window.top.Plumsail.FD.jQuery('iframe').each(function(i) {
if (this.contentWindow.document.location.href == GetUrlKeyValue('Source')){
fd.field('HireDate').value(this.contentWindow.fd.field('HireDate').value());
// etc..
}
});
Didn't work
This is my code:
window.top.Plumsail.FD.jQuery('iframe').each(function(i) {
if (this.contentWindow.document.location.href == GetUrlKeyValue('Source')) {
fd.field('HireDate').value(this.contentWindow.fd.field('HireDate').value());
fd.field('Employee').value(this.contentWindow.fd.field('hiddenEmployeeNameValue').value());
fd.field('BeginningBalance').value(this.contentWindow.fd.field('BeginningBalance').value());
fd.field('Points').value(this.contentWindow.fd.field('Points').value());
}
});
Thanks Rostislav!
This is my code:
window.top.Plumsail.FD.jQuery('iframe').each(function(i) {
if (this.contentWindow.document.location.href == GetUrlKeyValue('Source')) {
fd.field('HireDate').value(this.contentWindow.fd.field('HireDate').value());
fd.field('Employee').value(this.contentWindow.fd.field('hiddenEmployeeNameValue').value());
fd.field('BeginningBalance').value(this.contentWindow.fd.field('BeginningBalance').value());
fd.field('Points').value(this.contentWindow.fd.field('Points').value());
}
});
Thanks Rostislav!
- Dmitry Kozlov
- Site Admin
- Posts: 1524
- Joined: Thu Jun 07, 2012
Hi,
What version of Forms Designer do you use? You can find it in the lower right corner of the designer.
What version of Forms Designer do you use? You can find it in the lower right corner of the designer.
- Dmitry Kozlov
- Site Admin
- Posts: 1524
- Joined: Thu Jun 07, 2012
Hi,
Add tracing to your code to ensure that the parent frame is found:
Also, ensure that no errors appear in the browser console (F12)
Add tracing to your code to ensure that the parent frame is found:
Code: Select all
window.top.Plumsail.FD.jQuery('iframe').each(function(i) {
if (this.contentWindow.document.location.href == GetUrlKeyValue('Source')) {
alert('The IFRAME was found');
...
}
});
-
- Information
-
Who is online
Users browsing this forum: No registered users and 8 guests