I want to store the value of 'Monitoring Day' text field into rule input. Please find the below code I am using:
a!textField( label: "Monitoring Day", labelPosition: "ABOVE", value: text(ri!monitoringDate,"dddd"), saveInto: a!save(ri!monitoringDetails.monitoringDay,save!value), showWhen: not(isnull(ri!monitoringDate)), required: false, readOnly: true, validations: {} ),
It is not storing value in ri!MonitoringDay.
Discussion posts and replies are publicly visible
2 things:
To add to Mike's notes, a typical solution for updating a value which is not interacted with on the form is by utilizing the saveInto parameter of your Submit button - or another button that is sure to have user interaction (necessary for updating values).
/* Submit Button*/ saveInto:{ a!save( ri!monitoringDetails.monitoringDay, if( fn!isnull(ri!monitoringDate), null, text(ri!monitoringDate,"dddd") ) ) }
As per the use case , If I enter the monitoringDate it should automatically display and save day corresponding to that date in rule input as read only field:
Thank you Chris.
I have implemented the code suggested by you and it is working as per expectation.
If the user input is happening in the Monitoring Date field, then the saveInto will need to happen there. This is where we end up needing a!save, it makes our job very easy:
a!dateTimeField( label: "Monitoring Date", labelPosition: "ABOVE", value: ri!monitoringDate, saveInto: { ri!monitoringDate, a!save( ri!monitoringDetails.monitoringDay, text(save!value, "dddd"), ) }, required: true, readOnly: false, validations: {} ), a!textField( label: "Monitoring Day", labelPosition: "ABOVE", value: ri!monitoringDetails.monitoringDay, showWhen: not(isnull(ri!monitoringDate)), required: false, readOnly: true ),
Thank you so much Mike for providing one more feasible solution.
Great, thanks for confirming. If and when you're willing, it would be helpful if you could click "verify" on any of my answers that you found helpful, and other peoples' answers too. I believe this will turn the answers "green" and mark the thread as "resolved". It also gives some invisible "brownie points" to the verified answer-giver ;-)