I have several workflows that are triggered by an input value changing. However, the results are inconsistent and values don’t update correctly. Has anyone else encountered this or figured out a better way to have bubble calculate and store a value consistently when an input’s value has changed?
Yes, I’ve run into this.
I use a combination of the livetext plugin and custom JS to monitor and retrieve values depending on my needs. I find these to be much faster and reliable.
You can also push values into fields with JS.
Lastly, if you just want to directly sync a value of a field with a field on a thing in the database, you can use the auto-binding feature. Just make sure you adjust privacy rules to allow for it.
What is the inconsistent results you’re experiencing? This workflow has always been consistent for me - but it is important to note that the “value changing” only happens when the input is “unfocused.” Meaning - you need to hit enter, or move your mouse outside of the input for the “value changed” trigger to evaluate as true. This obviously isn’t ideal for a lot of UI’s, so as mentioned above, there are a lot of plugins that store the value of an input on each keystroke, rather than when the input is unfocused.
@aj11 The input is set to auto binding, it’s the calculated result being stored in a second field that is inconsistent.
@sam.morgan I understand it only happens when “unfocused”. The issue might have to do with the input being auto-binding and the order in which the second field is calculated and stored. The issue is consistent and results in the second calculated value correctly changing after the input field is changed, but then the second field changes back to it’s previous value.
This sounds like a timing issue between the auto binding workflow and the “input value is changed” workflow. I don’t think I’ve ever used these in tandem.
You could potentially try switching the input value is changed to the workflow action “trigger a custom event when data changes”
You could also look into database trigger events on the backend. Both of these would rely on the auto bind completing before firing their actions.
@sam.morgan I used the Iivetext plugin recommended by @aj11 and it works great. I’ll look at your other suggestions as well. Thanks!
Awesome! Glad to hear your issue has been solved
It’s called Instant Text in the plugin store actually. The element it adds to Bubble is called LiveText. That is really confusing actually haha.
@sam.morgan Thanks for posting this – the interaction between autobinding and “trigger when data changes” seems to be the problem for me also (2 years later). I am using the new table beta to create a spreadsheet like table. Each row contains a single record from the database table. Each column is a unique field. I was using autobinding , plus I would trigger a workflow to recalculate portions of the table based on the input changing. I was getting very inconsistent results. I could do a key sequence and the calcuclation wouldn’t run. Maybe 10% of the time. But since this is a calculation table, it was enough to make the spreadsheet not work.
Not using autobinding and updating the field in the workflow appears to have solved the problem with a simple workaround. Probably a bug?
If the input value is actually just storing dynamic data, you can pass that dynamic data into
Bubble’s input field has a bit of a lag in actually publishing the value. The custom JS approach is the way to go if you are using text in something like a search bar where the lag is critical