I'm looking for suggestions or links that can give me some ideas on ways I can provide an editable field to a user that is an override for a calculated value. That is, it's a field that the system generally calculates for you, but the user needs to be able to modify it if they "know" better than the system based off of specialized domain knowledge. There needs to be some sort of visual clue to the user that they in fact have changed this field though and that the system is no longer in control of this value.
2 Answers
Show the recommended default, but clearly label it. Allow the user to select it, or to enter a new value.
download bmml source – Wireframes created with Balsamiq Mockups
-
Yes, I like this better. It looks like a payment pattern. Pay balance or pay other amount. Nice! Jul 17, 2013 at 13:36
-
I'm going to use an example of patient dosing of medication. Let's say the system knows the patient's personal information like height, weight and age. The user selects a medication, and the dosage is calculated by the system based on BMI. The dosage and unit of measure appear in two parsed fields, like |1|ml|. (There would be a time factor, too, but let's ignore that for now.)
You could choose to have the dosage fields enabled, and if the user makes an edit, flag the new user input dosage value with a different colored background (highlight with yellow), as an indicator that the original value has been overridden. As Matt asked in the comments, if the original value is required for reference, make that a label associated with the field so that it is always visible alongside the edited value. The field would read "Dosage (1 ml): |2|ml|
-
1I like a common pattern when default/calculated value is a clickable element next to the label - e.g. "Dosage (1 ml): |2|ml|" - when the user clicks the "1 ml", system will restore the computed value.– EugeneJul 16, 2013 at 19:01
-
-
1Looking at the right-hand view, it's not at all clear to me whether the dosage is going to be 1ml or 2ml. Jul 16, 2013 at 21:53