# Form tables and choice matrices Collect repeating rows (order lines, expenses, a staff list) or a grid of ratings (satisfaction, agreement) in one HTML file. Submit once to the portal form endpoint. Do not invent a spreadsheet server. Replace `FORM_ENDPOINT` with the portal submit URL from the HTML skill. ## Table vs choice matrix | | **Table** | **Choice matrix** | |---|---|---| | What it is | Spreadsheet-like rows. Each column can be a different field type. | Fixed grid. Rows are statements; columns are the same scale. | | Typical use | Order list, expense breakdown, staff directory, “add another item” | Satisfaction survey, Likert (“Strongly disagree” … “Strongly agree”), CSAT per topic | | Add rows | Yes — respondent can add/remove rows | Usually no — rows are the questions you defined | | Column types | Short text, email, date, dropdown, number | Radio (or equivalent) per cell | Do not treat a matrix as a table of mixed types. Do not treat a table as a rating grid. ## Table: HTML shape Keep every row inside the same `