Text Box not instantly reporting property change

In my Ignition project I have multiple places where someone can make a new name for a customer, quote, etc. For all of them I am forbidding certain characters that mess up the rest of the program.

I have got this to work for everything by putting my custom function into the propertyChange of the appropriate text box:

app.util.validName(event)

The function calls a message box to alert the user about a forbidden character entered right after it’s entered, and then converts it to a suitable replacement (a hyphen).

This works perfectly fine for 5/6 text boxes. For the last text box though, it doesn’t seem to fire the propertyChange correctly.

When I click on it, the propertyChanged is border, and then I can type to my hearts cocntent there is NO propertyChanges recorded, until I click outside of it, then all of a sudden the border is changed again as well as the text property (and this is only the very last text property change). It’s not firing a text propertyChange every time a button is clicked, only once the text box is not focused on anymore.

I didn’t make the form this text box is in and haven’t experienced this before, is it possible that some properties in propertyChanged are suppressed until after focus is lost? That’s how it seems to work when I am messing around with it but I don’t know why. Any idea what could be causing this or how to fix?

Edit: I made a brand new text box in this same window and applied the function and I am getting the same issue. Only border property change is recorded on focus, and then only when I lose focus does any other property change get checked.

My initial guess would be to check the properties for the text box. Compare the options for ‘Defer Updates’, ‘Commit on Focus Loss’ and maybe ‘Reject updates during edit’. See if any of those three properties don’t match between the different boxes.

1 Like

That was it, thanks. Wasn’t even aware those were properties on the text box.