Sub Page_ParseEvent(Params As Map)
Dim eventName As String = Params.Get("eventname")
Dim eventParams() As String = Regex.Split(",",Params.Get("eventparams"))
Log(eventName)
...
end sub
public Sub ConnectPage()
...
Dim inputtaxahora As ABMInput
inputtaxahora.Initialize(page,"inputtaxahora",ABM.INPUT_TEXT, loc.Localize("taxahora"),False,"")
...
end sub
Sub inputtaxahora_Changed(value As String)
Log (value)
end sub
Never reach log(value) at sub inputtaxahora_Changed
Log shows only gotfocus and lostfocus events:
inputtaxahora_gotfocus
inputtaxahora_lostfocus
Dim casesummary As ABMInput
casesummary.Initialize(page, "casesummary", ABM.INPUT_TEXT, "Summary", False, "lightblue")
'casesummary.InputMask = ABM.INPUT_TEXT.ToUpperCase
'casesummary.RaiseChangedEvent = True
I had to raise the event... ( 'casesummary.RaiseChangedEvent = True )
This worked badly when typing into the input, since it went back to the server and sent back the uppercase text... It would actually miss keystrokes due to the latency of travel back and forth...
Yes, Changed is a very costly event. I can believe what Harris says in his case of uppercase as this would even require a .refresh with every keystroke.
One way to do it could be by using B4JS. See the B4JS tutorials series for that. (search for B4JS on the forum and read them all).
I must say, I probably have used it only in one project myself. In most cases, this is not needed at all. I do all my checks of inputs once the user presses Enter. Plenty of time to do all the checks and show warnings/messages to users then. This is how most websites do it too. You can color e.g. them red if they are wrong.