I have an app in which we submit multiple surveys for reporting with one submit button. The only way to undo the action is to unsubmit each individual survey. This would allow the "submit" function to activate again since one or more of the group of surveys has not been submitted.

The question I have is, should I gray out the submit button if the status for all forms is submitted? Should I change the button text from "Submit" to "Submitted"? Are there any best practices for this type of action?

2 Answers 2


The basic rule I recommend is use disabling when a command is currently not available but the user can do something pretty obvious to make it available. I think that fits your situation here. Presumably you have some indication whether each survey is submitted or not (users will need this to know which have been de-submitted and need re-submitting. If all surveys are in the “Submitted” box or have the Submitted field showing “Yes,” then it’s pretty obvious why the Submitted button is disabled, and what would enable it.

Hiding should only be done for controls that are essentially never available to the user (e.g., they don’t have permissions). Otherwise hiding them is confusing: the users won’t know if the command is simply unavailable or available but they forgot where the button is. You shouldn't rely on the user noticing and remembering little changes in the UI (e.g., a button used to be here). Hiding the button also can disrupt your layout, causing inconsistencies or false control groupings.

Changing the label to "Submitted" is non-standard introduces the chance of confusing the user. Apple OSX guidelines specifically prohibit using a button as a label (p231). Such guidelines are good places to get recommendations for questions like yours.

  • I agree with @Michael Zusclag on this one, as a grayed out buttons makes the user aware that something must be accomplished before the button will become available. Commented Sep 4, 2013 at 17:32
  • Very good answer, better than mine. I agree on everything except on the not changing the button text to read "Submitted" bit. How can one be confused by looking at a disabled button that reads an action that the button just performed in past tense? The button text doesn't change as a side-effect, the user makes the change by clicking on it. You not are changing the button to a completely different text, which I would disapprove. Similarity between "Submit" and "Submitted" is high, so I would still use this as a hint to reinforce the user flow. Commented Sep 5, 2013 at 16:35
  • Also, I found the Apple guideline you mentioned on p245, couldn't see it on p231. I think they refer to not to use buttons as pure labels. They don't forbid to change the button text as the context of the action changes. Commented Sep 5, 2013 at 16:38
  • @Sánchez-Sáez: You may get away with changing the label to "Submitted" label most of the time, but you shouldn't rely on users noticing or remembering how a UI changed. They may be distracted. There may be a long delay between submitting and returning to the app. Maybe it's a small risk, but it's an unnecessary one: there already is (or should be) a separate clear sufficient indication that the surveys are submitted. Commented Sep 5, 2013 at 20:58
  • I agree, you cannot rely on that as the sole indicator of the forms being submitted. What I'm saying is that I would do this extra thing to further convey the state. For me, changing the text button it's not potentially confusing at all, but rather the opposite. For example, I just remembered an example in which Apple does this: in the Force Quit Application menu (Cmd+Alt+Esc), the Force Quit button text changes to Relaunch when you select the Finder. Not the same situation, but as an example that Apple doesn't forbid you to change buttons' text. Commented Sep 6, 2013 at 9:33

All of this depends on what you are trying to build and what the most common opearations are. How common is to "unsubmit a survey"? Also, why not provide a "submitted tickbox" for each of the surveys instead of a general one?

In your current situation, I think that your best bet may be to change the button text to "Submitted", disable the button, and also change its style to reflect that it is disabled (maybe make it partially transparent?).

A completely different approach could be reworking the submit/unsubmit survey workflow to try and make it is simpler or more natural. Maybe you don't need a submit button at all. Maybe you can present all the surveys in two sections (submitted/unsubmitted) and you can move them from one section to the other as you see fit.

  • I have to say, I'd be confused by a grayed or transparent button labeled "Submitted." Is it a button or a text box? Or neither? Maybe it's a dimmed "light" indicated the state of "Submitted" is "off" and thus not submitted. How do I interact with it? Commented Sep 4, 2013 at 13:59
  • @Michael: You have very good points there. However, that would be the case if you didn't see the button in the enabled state with the "Submit" text on it beforehand (I am assuming the user always sees the enabled button first). When you see the button state change in real time, I'd say there's less of a chance for confusion. :-) Commented Sep 4, 2013 at 14:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.