I have a curious problem with some get fields with the ON CHANGE clause
I have 5 get fields, three of them have the ON CHANGE clause to validate all of the three gets and to activate a save-button, if all are valid.
the curiosity is now, that only two fields seem to follow the roules of the ON CHANGE clause.
- Code: Select all Expand view
- REDEFINE GET oUser VAR cUser ID 104 OF oDlg VALID !Empty (cUser) ;
ON CHANGE IIF ( (oUser:lValid() .and. oCity:lValid().and. oEmail:lValid()), oSave:Enable (), oSave:Disable() )
REDEFINE GET cStreet ID 105 OF oDlg
REDEFINE GET oCity VAR cCity ID 106 OF oDlg VALID !Empty (cCity) ;
ON CHANGE IIF ((oUser:lValid() .and. oCity:lValid().and. oEmail:lValid()), oSave:Enable (), oSave:Disable() )
REDEFINE GET oCountry VAR cCountry ID 107 OF oDlg VALID !Empty (cCountry)
REDEFINE GET oEmail VAR cEmail ID 108 OF oDlg VALID !Empty (cEmail) ;
ON CHANGE IIF ((oUser:lValid() .and. oCity:lValid().and. oEmail:lValid()), oSave:Enable (), oSave:Disable() )
I enter some text in the first get (oUser), jump with TAB to cStreet and oCity, enter some text in both gets. The button is still inactive. Now I jump with TAB to the next get (oCountry) and the button is activated although oEmail:lValid() returns still .f. ??
How can the button get activated although the condition is wrong ? What do I miss ?