Exposing other events

Not right now

I'm sure this has been suggested several times and if you wanted a true RAD platform you would implement it. 

Why don't you expose other events like onChange for users to associate an action with.  Like OnFocus, OnBlur, OnKeyPress, OnMouseOver... 

Would that be so hard to do?  

I know there are work arounds, but that takes time and is anything but rapid...



Created on 28 Aug 2017
Comments (8)

Hi Jim,

Exposing those events as built-in events rather than achieving it through extensibility also has a drawback of making our language (and properties) more complex and harder to understand.

We will take your feedback into account and review how common are these use cases, but take into account that if we promote to much information users will have a hard time to find what is more important.


Vasco Pessanha

I also think that tying code to those events, where it needs to do a postback to the server, would make for a pretty poor user experience.


I disagree, J.

Having only the OnChange is far worse a user experience than the OnBlur would be in certain cases. For example, if you want to do a lookup or a quick validation on a value entered in a text field, you'll need the onchange, which triggers a server postback with every single character that you type in that field. If we would have easy access to the onblur, there would only be 1 server postback when the user is finished entering the data, and when it is useful to actually do a lookup or validation.

Tim -

If you look at the implementation of the OnChange, it actually does NOT trigger a postback with every single character typed. It only does it when they leave the field, or after a little bit (I think 200 ms?) after the user stops changing. As a result, the user experience is pretty decent. Likewise, OnBlur would be fine... but OnKeyPress, OnChange, etc. would be truly miserable to kick off a server postback on each one, unless you were very careful in how it was implemented...


I disagree, most of the suggested events are more usefull on clientside, not serverside...

J -

Sure, so in that case, you don't want the requested change, you want what's already built-in, which is in the "Extended Properties" you see "onfocus", "onblur", etc. and can write JavaScript in there.

Maybe this can be exposed in a more-obvious way, but the ability to do client side JS for those events has been around for a long time.


This can be implemented using the RichWidgets component FakeNotifyWidget.

You give a Name to the widget, and add the following JavaScript call to the "onblur" (or other) event of the input: OsNotifyWidget('<WebBlockWidgetName>.Id', '<message>'). The content of the message sent can be accessed in the FakeOnNotify screen action using the NotifyWidgetGetMessage() built-in function.

Hope this helps.


Changed the status to
Not right now

Hey guys, because of everything discussed in the thread we will keep them possible to achieve through extensibility but not promote them as properties that would make the experience for new users more complex and confusing.

Nevertheless thanks for the idea and keep them coming!