An iFrame embeds another web page inside the form. Use it to bring something the user needs alongside the form - a reference page, a scheduling tool, a supplier's lookup screen - without sending them away from what they are filling in.


The page being embedded has to allow it. Most sites refuse to be shown inside another page, and when one refuses the frame simply comes up blank with nothing on the form to say why. Test the address in the form before building anything around it, and expect to need a page you control.


Despite sitting in the Container Fields section, an iFrame does not hold other fields. It shows one external page.


Settings

Iframe Source URL - The address of the page to show. Variables and {field} references are replaced when the form loads, so the embedded page can be pointed at something specific to the record or to what the user has entered.


Show Loading Message - Shows a message while the page is being fetched, rather than an empty frame.


View Height - How tall the frame is.


Shadow Size - None, Small, Medium or Large drop shadow around the frame.


Getting data back out of the page

An embedded page is sealed off from the form by the browser, so nothing passes between them unless it is arranged deliberately. The iFrame field can accept a message from the page it is showing, which is what makes a real integration possible: the user picks something in the embedded page, and the form receives it.


Allow iframe to send data back to E-form - Turns the message bridge on.


Origin Base URL - The site address of the page being embedded. Use the base address only - not the full address of the page, and with no slash on the end. Messages from anywhere else are ignored, which is what stops another site pushing values into your form.


Message to Field - The field on the form that receives whatever the page sends. Point a Multi-Action field's change event at that field to act on the value as it arrives - fill in other fields, run a search, close a modal window.


The embedded page sends its message with a single line of script:


window.parent.postMessage('Your Message', document.referrer)


Whatever it sends in place of 'Your Message' lands in the field named above.