I have a grid that has a bunch of data. Some of the fields are editable and cause a postback updating the data. What are the best ways to show that to the user? i.e. Is there a best practice for how to make a distinction between editable and non-editable from a UI perspective?
I opted for adding a text-muted fa-pencil icon floated to the right of field.
Text boxes are great in simpler layouts, where the primary use of the element is editing. In a grid where the control is repeated indefinitely, they (like buttons or other controls) will increase visual clutter. This is a problem since one of the reasons we use grids is to provide us with overview.
I really like designs where editable fields are very neutral-looking, like any interface text, but upon hovering they switch to a state that shows they can be edited. This could be achieved using a color, or an icon, that is only visible upon hovering. Upon clicking, you enter the actual edit mode. Jira's web app is an excellent example of this approach.
Best practice is generally using inputs for editable content and plain text for non-editable content. You can make the inputs subtle, so they don't create so much clutter even in somewhat heavily populated grid.
If the clutter caused by the exposed inputs is too high, you have option of using controls shown on hover (edit action icon) or transform the plain text to input field on hover (works for one line content, with caution even for multi line content).
However, in terms of providing editable clue only on hover, you should ask yourself what is the primary context of use. If it's mobile touch devices, then you can't rely on hover and you have to expose the edibility right away (again, either using icon for edit action, or exposing input field).
Text box for the web. Users will be able to distinguish that the field is for text input. Focusing on the first text field is preferred, if possible. This field may be bordered with a thin blue with a cursor in the field or simply highlighted with a border.
For mobile bring up a keyboard. If you can have the first item selected with a blinking cursor do so. Graying out remaining fields is okay.