Event Listener / Trigger only after Page Refresh

How to populate dynamic dropdowns in ChronoForms v8 on page load and after selection.

Overview

The issue occurs when using database-driven dynamic options because the Read Data element is placed after the dropdowns in the form structure, preventing initial data loading.
Ensure the Read Data element is positioned above the dropdowns in the form builder. For dependent dropdowns, use the on Value Changes event with triggers and listeners instead of relying solely on Read Data for dynamic updates.

Answered
ChronoForms v8
am amitycol 06 Feb, 2026

I am trying to use Chronoforms v8 and recreate a form that worked in v7 and imported to v8. The problem is that after wrestling with the Trigger/Listener events, I have so far managed to get it to work, not on initial form load, but after page refresh. Basically, I have dropdown1 and dropdown2, both with a database datasource. 

Expected behaviour: When the user change option in dropdown1, its value is then used to retrieve the option(s) for dropdown2.

Actual behaviour: Initial page loads with empty dropdown1 options. On manual page refresh, dropdown1 is populated. On dropdown1 value change, dropdown2 options remains empty. On subsequent page manual refresh, dropdown2 option is populated. Adding a 'Reload' event duplicates the form on the page (weird behaviour). What am I missing?

Max_admin Max_admin 07 Feb, 2026

Hi amitycol

if dropdown1 options should be available on page load then you need to use the Dynamic Options behavior to specify a data source for the options, or use the static Options list, please try that and let me know

For Dynamic Options you will need a data source variable, either from Read Data OR some PHP code

Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.
am amitycol 08 Feb, 2026

Max_admin, I did say both dropdown1 and dropdown2, use database as datasource. Meaning they both use the Dynamic Options behavior to specify a data source.

Max_admin Max_admin 08 Feb, 2026

Then when the page loads the options should be already there unless there is something wrong

Please post a screenshot of how you setup the dropdown1

Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.
am amitycol 08 Feb, 2026

Please find the attached. It appears the events are not responding directly to user actions. I have disabled all cache extensions/plugins including Joomla cache, just to be sure it is not a caching issue.

Private Attachment is only visible to Author & Moderators
Private Attachment is only visible to Author & Moderators
Max_admin Max_admin 09 Feb, 2026
Answer

It's not caching, the configuration is wrong, you do NOT need any Events Triggers or Listeners here, you just need Dynamic Options with Read Data, this is the tutorial you should follow:

https://www.chronoengine.com/faqs/chronoforms/chronoforms8/dynamic-options-for-dropdowns-and-multi-selection-fields

Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.
am amitycol 09 Feb, 2026

After removing the Event Listener and Trigger for the Read_Data (read_data47), the problem is still occurring (I think that is why I ended up adding the event trigger and listener). Anyway, I removed them and still experiencing the same issue. The option is not populated on page load until a hard page refresh.

I thought it may have something to do with the SQL statement in the WHERE clause of the Read_Data (see screenshot) so I created a new form with just one dropdown and a read_data with the same datasource but no WHERE clause, and it also has the same problem.

Private Attachment is only visible to Author & Moderators
am amitycol 10 Feb, 2026

The dropdown now loads the values when the page loads. I had to move the read_data47 to the top of the page before all other elements. Changing the dropdown value still does not trigger the populating of the second dropdown as expected until the page is refreshed. Possibly a javascript/jquery issue.

Max_admin Max_admin 15 Feb, 2026

Yes, the Read Data should be ABOVE the Dropdown using it

if you need the second dropdown to load values based on selections in dropdown1 then this is where you need the Events Triggers/Listeners, here is the tutorial for that:

https://www.chronoengine.com/faqs/chronoforms/chronoforms8/how-to-setup-fields-events-using-triggers-listeners-in-chronoforms8

You will need to use the on Value Changes event

Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.
Post a Reply