If you have a seller accounts at amazon or ever happened to look at their product upload form, I am sure you must have noticed that for each product type you wish to upload they have a slightly different form.

If you want to sell Table Fans, you are presented with this form and in case you wish to sell shirts, this is what is presented you. Look at the image down below

enter image description here

both forms are different yet do the same thing, i.e. upload products (which has some common and few specific attributes)

What intrigues me about this design is the thought that the end user, a layman, wouldn't be expected to understand jargon like product attributes or its use. You give him a product specific upload form and he will fill it up as necessary.

Looking at a few other carts, take for instance opencart, opencart has one form for all product types and if you need to add a few extra attributes it lays the onus on you (the end user) to first understand what attributes are then work as needed.

Opencart product upload page

enter image description here

I like the way amazon (and a few other ecommerce site, I believe ebay too does as amazon) worked this up.

I wish to replicate this for my project but honestly speaking I have never seen this before. I do not even understand what do you call this. I tried searching google for "form based on product type" and could not find anything to help me.

Can you please let me know how amazon or ebay do this.

1 Answer 1


If I understand your question correctly, you are looking for a dynamic web form. I don't know any specific term.

I have worked on a similar example (at a much smaller scale).

The reason amazon can do this is they have researched the attributes unique to each product type. You are served a form with the attributes required, nothing more.

You can even use progressive disclosure, where the user starts by selecting a product type. They are then shown fields specific to that product category.

The Opencart example violates some very fundamental UX best practices. Non-programmers don't think of 'attributes' and 'values'. Here's a fundamental rule from JaKob Neilsen and the Neilsen Norman Group:

The system should speak the users' language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order.

First, select the product category. Then reveal specific attributes known to the user and relevant to that product.

You can do this on the front end by hiding/showing input fields based on the top level selections.

The hurdles to this are largely:

  • Do you have the time/budget to research each of your product offerings?
  • Do you have a development team able/willing to implement this?
  • Does management or leadership see the value this brings?
  • Have you tested this with users to make your case to management (test your hypothesis)?
  • thank u for responding. Yes I understand every point you made. Its time consuming but worth a try. We start small, maybe 4-5 product type, and then grow as needed. I hope its doable. But how?
    – Mecom
    Commented Jun 25, 2017 at 8:47
  • Look at this jsfiddle.net/dq2jzhom. Do you think something like this can work. I have two forms basically working with the same table. The only difference is that both these form will be slightly different from each other.
    – Mecom
    Commented Jun 25, 2017 at 10:44
  • Are you developing this yourself? For implementation (code) questions, that belongs to stack overflow. There are many dedicated devs there to help you (people much more qualified in that role than I am). It depends on what your technology stack is. I would consult with the dev who is responsible for your front end production code.
    – Mike M
    Commented Jun 25, 2017 at 13:31
  • yeah I am the one developing. thanks for the suggestion
    – Mecom
    Commented Jun 25, 2017 at 13:34

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.