Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

I've encountered with this question many times:

Assuming I have a table which displays results according to dropdown value.

Should I refresh the results automatically each time a value is selected, or should I add a "Search" button?

EDIT

This is just a simple example, in reality, there are usually more than one dropdown or other input fields (text fields, radio, checkbox etc.)

Usually I have two to three search options, the search (or pagination) time could take more than one second (i.e. long). Moreover, the dropdowns might update according the search results (to narrow to values that will return values). My current solution is deleting the results set "on change" of the dropdown.

share|improve this question
1  
Ran, it's best to add these comments to the body of the question. For now you don't have enough rep to edit, so I did it for you and removed the comments. –  Vitaly Mijiritsky Jul 18 '11 at 12:41

6 Answers 6

As I see it, if that's the only field in the search form - there is no need to require a search button click. Though I would add a search button to give the form the "look" of a search form.

share|improve this answer

You should always ask yourself, 'does this keystroke, click ect' add value to the user. I the question is:

  1. Click Dropdown
  2. Select Item

vs

  1. Click Dropdown
  2. Select Item
  3. Click Search

The answer should be obvious, 2 is simpler than 3, therefore clicking search does not add value. Futhermore omitting search, and a page refresh, means live updating boosting the value to step 2 by giving it the value of search and giving it the value of the update itself.

If you are worried about clarity, but an icon or write the word 'search' next to the dropdown.

share|improve this answer

This is a pretty open-ended question, but the general rule of thumb I would apply in this case would be that it's only worth pursuing so long as it "delights the user".

If there are indeed multiple fields, refreshing the display after every input could provide results the user wasn't "ready for". It will certainly place additional strain on the application, as well.

Also be aware that relying on buttonless form submission poses some legitimate usability & accessibility risks.

If you're on the fence, you will want to be sure the experience is improved enough to the outweigh the tradeoffs.

share|improve this answer

The key issue here is that you are displaying the results on the same page as the input fields which form the criteria for showing the results.

I had a previous answer all laid out on the basis of using only dropdowns - however I see in your comment below the question that there might be other types of input fields - including text boxes.

This changes things significantly because you have multiple inputs each of which can be 'finalized' in a different way - changing a drop down value - checking a box, and the most problematic being the entering of text into a text field which can only be finalized by pressing return or clicking outside the field.

Now pressing return in a textbox which is part of a larger form that has no submit button is a problem - as to whether it should activate the form, tab to the next item, or do nothing.

Thus, the way to bring together all these different inputs is via a single primary action button which takes the confusion out of the situation.

share|improve this answer
    
Which leads me to the question, should I reset values after changing any of the search values (when the initial search had already been submitted) –  Ran Chen Jul 18 '11 at 10:45
    
No I don't think you want to modify the behavior of the query form between first and subsequent use because it's confusing for the user - its inconsistent. I don't know enough about your context, but it seems to me you might want to think about separating the fields that generate the initial results set, and result-led fields that further filter those results. Mixing the two sounds confusing. –  Roger Attrill Jul 18 '11 at 10:55

Based on my experience of site performane with this question, I am inclined to say that there should be a button when there are multiple fields - otherwise, if a customer has the intention of changing more than one of them at a time, they may find themselves clicking on the second field when the changes from the first are taking effect, leading to a flickery hell-experience where page loading gets in the way of what you are doing. This is particularly annoying on search filters, where it's feasible that you may want to select multiple values and have them applied in one 'swoop'. What's worse potentially is where a) there is a mix of controls that fire automatically, and those that need a buttons press, or b) there are buttons but they are not required, and the control changes the page without clicking the button.

share|improve this answer

Since everybody else (so far) is arguing for the button for multiple input parameters, let me pitch dynamic updating.

We've all seen how Google search starts to return results even while you are still typing, and I think most of us have had the experience of using those early results to refine the search. (Also the predictive query, of course.) So there exist conditions under which users benefit from early results, but we have to figure out whether (1) your case is one of those and (2) if so how do you do it non-invasively?

(1) is a question for your user analysis. We can't answer that without more information. So let's look at (2). The key point is that the reload/changing content does not interfere with the query you are making. If reacting to a change in the drop-down (or a checkbox, or whatever else you have) would require the entire page, including the query parameters, to be reloaded, then that is likely to annoy your users. But if you can implement it such that the query experience is uninterrupted while current results are updated, and if your user analysis shows that users could benefit from the early information, I think you should consider it.

A "search" button is well-understood and, with multiple parameters, I don't think the extra click is going to be too expensive. There's nothing wrong with using the button; I'm just suggesting that you might, depending on the specifics of your situation, be able to do something better for your users.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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