# Retrieve data from a popup to a component property

**URL:** <https://forum.inductiveautomation.com/t/retrieve-data-from-a-popup-to-a-component-property/110037>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [August 21, 2025, 12:38pm UTC](https://forum.inductiveautomation.com/t/retrieve-data-from-a-popup-to-a-component-property/110037 "2025-08-21T12:38:01Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![mario.lopez](https://avatars.discourse-cdn.com/v4/letter/m/9f8e36/32.png) [@mario.lopez](https://forum.inductiveautomation.com/u/mario.lopez)\
**Post date:** [August 21, 2025, 12:38pm UTC](https://forum.inductiveautomation.com/t/retrieve-data-from-a-popup-to-a-component-property/110037/1 "2025-08-21T12:38:02Z")

</div>

I have coded a script that opens a popup window when a binded boolean custom property turns True. Is there any way to retrive/store some data introduced by the user in the pop up and store in the properties of the component that has the bind that threw the pop up ?

Thanks

---

<div class="post-metadata">

**Author:** ![Nathan\_Moore](https://avatars.discourse-cdn.com/v4/letter/n/d78d45/32.png) [@Nathan\_Moore](https://forum.inductiveautomation.com/u/Nathan_Moore)\
**Post date:** [August 21, 2025, 12:43pm UTC](https://forum.inductiveautomation.com/t/retrieve-data-from-a-popup-to-a-component-property/110037/2 "2025-08-21T12:43:58Z")

</div>

Best option is likely to send a message back from the popup. Then create a message handler on the view with the component, to capture and set whatever data you need.

> **[system.perspective.sendMessage | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-perspective/system-perspective-sendMessage)**
>
> Send a message to a message handler within the same session.

---

<div class="post-metadata">

**Author:** ![rpulliam](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rpulliam/32/76557_2.png) [@rpulliam](https://forum.inductiveautomation.com/u/rpulliam)\
**Post date:** [August 21, 2025, 1:24pm UTC](https://forum.inductiveautomation.com/t/retrieve-data-from-a-popup-to-a-component-property/110037/3 "2025-08-21T13:24:35Z")

</div>

The sendMessage method is also what I tend to do, but you can also use session properties, or even memory tags, to store the data. This allows you to bind properties from both views to the data.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [August 21, 2025, 1:27pm UTC](https://forum.inductiveautomation.com/t/retrieve-data-from-a-popup-to-a-component-property/110037/4 "2025-08-21T13:27:18Z")

</div>

> [@rpulliam](#):
>
> but you can also use session properties, or even memory tags, to store the data

There are serious negatives to either of these approaches when users can open multiple tabs of the same project, or multiple users can run the project simultaneously. Using session props or memory tags are **not** comparable to sending targeted messages.

---

<div class="post-metadata">

**Author:** ![mario.lopez](https://avatars.discourse-cdn.com/v4/letter/m/9f8e36/32.png) [@mario.lopez](https://forum.inductiveautomation.com/u/mario.lopez)\
**Post date:** [August 22, 2025, 10:05am UTC](https://forum.inductiveautomation.com/t/retrieve-data-from-a-popup-to-a-component-property/110037/5 "2025-08-22T10:05:07Z")

</div>

Okay, thanks you, this is working. But now I am having another problem. The view that has the handler is used as widget of a dashboard, so can be instanciated severals times in the page. With this approach when open a popup for one of the widgets and saving the changes triggering the sendMessage, since all the widgets have embedded the same view, so the same handler, all the widgets receives the changes. How to make that the handler is defined per widget so only the widget that triggered the popup receives the message back with the new payload.

Thanks!

---

<div class="post-metadata">

**Author:** ![mario.lopez](https://avatars.discourse-cdn.com/v4/letter/m/9f8e36/32.png) [@mario.lopez](https://forum.inductiveautomation.com/u/mario.lopez)\
**Post date:** [August 22, 2025, 10:06am UTC](https://forum.inductiveautomation.com/t/retrieve-data-from-a-popup-to-a-component-property/110037/6 "2025-08-22T10:06:35Z")

</div>

I do finaly implemented using the sendMessage and the handlerand it is working. But now I am having another problem. The view that has the handler is used as widget of a dashboard, so can be instanciated severals times in the page. With this approach when open a popup for one of the widgets and saving the changes triggering the sendMessage, since all the widgets have embedded the same view, so the same handler, all the widgets receives the changes. How to make that the handler is defined per widget so only the widget that triggered the popup receives the message back with the new payload.

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![David\_Stone](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/david_stone/32/79749_2.png) [@David\_Stone](https://forum.inductiveautomation.com/u/David_Stone)\
**Post date:** [August 22, 2025, 10:12am UTC](https://forum.inductiveautomation.com/t/retrieve-data-from-a-popup-to-a-component-property/110037/7 "2025-08-22T10:12:21Z")

</div>

Give all of your widgets a unique ID as a parameter, add the ID of the widget you want to transmit the message to into the message payload, then filter the messages by that ID so only the widget that has the correct ID listens to the message.

---

<div class="post-metadata">

**Author:** ![Nathan\_Moore](https://avatars.discourse-cdn.com/v4/letter/n/d78d45/32.png) [@Nathan\_Moore](https://forum.inductiveautomation.com/u/Nathan_Moore)\
**Post date:** [August 22, 2025, 10:12am UTC](https://forum.inductiveautomation.com/t/retrieve-data-from-a-popup-to-a-component-property/110037/8 "2025-08-22T10:12:50Z")

</div>

Pass an index through to your popup that uniquely indentifies that widget. Then when you send your message back, include the index in your payload and have any widgets recieving the message, discard/ignore if their index does not match.
