Tell me more ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

Something like these:

enter image description here
http://imageshack.us/photo/my-images/221/screenshotgh.png/

The button below adds a new group where the user can fill each of the fields. I think that isn't best way to show because the list could be one-to-infinite and the usability is lost.

share|improve this question

5 Answers

I'd try to avoid making a form with so many unlabelled fields, as a general rule.

However, if you have to use this, I'd suggest that you have the default text of each input in each new row be descriptive of the input type.

So instead of 6 empty input fields, have 6 input fields where the value is there, but is grey, not black, to show it is default text.

Input one would have the value "First Name", user two, "Last Name", and so on. You should then use a javascript which clears the default text when the input field gains focus, and replaces it when the element loses focus, if the element has had no text added.

share|improve this answer

You can repeat the lables-row every n rows.

So in your table head you have a row like "Firstname | Last name | ... " and you repeat this row of labels every, let's say, 25 rows. The user adds new rows, and after adding the 25th row a row of labels (with different visual look) is inserted that repeates the column's content label, thus ensuring that for another screen length of new rows inserted the label for each column is visible.

share|improve this answer
Can you explain why this would be of benefit? You may well be right and this is an ideal solution, but we really need more information from you on this one. One-line answers don't really convey any reasoning or descriptions. – JonW Dec 3 '12 at 9:10
Updated my answer. – kontur Dec 3 '12 at 9:38
Much better, thanks for the update. – JonW Dec 3 '12 at 9:39

I think puppybeard's answer is good, however the illustration in Mike's answer could be improved upon by leveraging the law of proximity/similarity by placing all of the add/delete actions into the far-right column:

UI screenshot

How it would function is clicking the plus button enables the row and adds a new "add row" below. You could even experiment with not having any editable text box containing a default value, because the "new row" with it's disabled elements with default values would always be directly under new rows.

enter image description here

Depending on your use case and how many rows you think you might have, you might need to take additional steps to help identify the fields, but for up to maybe 10 rows I think this solution would work well.

share|improve this answer

It seems like there are two actions (reviewing and adding) users could be doing on this (I could be wrong, so feel free to correct me).

For reviewing existing data, along the lines of kontur's answer, I've used persistent headers with success in long tables (see the first example here http://css-tricks.com/examples/PersistantHeaders/).

For adding new rows, I think puppybeard's answer works the best.

So you could end up with something like this: enter image description here

share|improve this answer

So long as you put labels for the fields above the respective columns I'm not seeing a big problem. It wouldn't even be a problem if they have so many rows that the column headers scroll off the page as by then they'd have plenty of very recent experience with the form and examples filled out for reference that they'd know what goes into a new row.

If however they are loading the form and it already has many many rows already pre-loaded then you've got a bit of a problem. You might want to enclose the grid of fields into a div with overflow set to scrolling, just so the column headers stay in view. And then put a stretchy handle on the div to resize the div if they want to see more than the default number of rows.

share|improve this answer
1  
Regarding your first paragraph, I do think such situation would be a problem, people could start filling the fields but I wouldn't bet on them remembering the field names for long. Specially, it could be confusing if there are columns with similar data, for example having 2 or 3 columns with dates. – Alexis Brion Dec 5 '12 at 13:43

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.