Richard Banks
Richard Banks

Reputation: 2983

user input forms with user defined fields

Ive been tasked with creating a user input form that has a set of defined fields and the ability for the user to add their own fields on the fly. e.g textbox, select box with options etc etc. Has anyone got any ideas on how i could implement this. What do i need to consider?

Also How would i store the data as i wont know the amount of fields. Generally in past projects a field in the input form has mapped to a column in the database.

Any ideas

Thanks in advance

Upvotes: 0

Views: 340

Answers (2)

pingoo
pingoo

Reputation: 2064

Do your users log into your site? If so you could use a SQL table to store each users controls e.g. :

UserName    ControlID   ControlType
JohnSmith   1       TextBox
JohnSmith   2       CheckBox
JoeBlogs    3       TextBox 

You can then have another table with each controls value within it:

ControlID   Value
    1       My Text Value
    2       False
    3       Hi I’m Joe

You can then just do a simple join to get all the users controls and there values. You can also store information such as location/index of the control on screen. Doing it this way you can add more than one value per control, meaning things like list box's will have multipul rows.

If your not using a log in system you could do the same sort of thing but using Cookies.

Upvotes: 0

David Neale
David Neale

Reputation: 17038

It will need to be stored in a denormalised fashion:

  • QuestionField
  • AnswerField

So you'll probably need a Questions table which defines the question and maybe the type of input and any contraints.

You'll then have an answers table which is linked to whatever your entity is. The answers table will have an question and an answer field.

Upvotes: 1

Related Questions