Skip to content

Scored quiz as a form

Run a knowledge quiz as one question per page, scoring every answer and showing accuracy at the debrief.

Use this for knowledge tests, comprehension checks and manipulation checks where each question has one right answer and the participant should learn their overall accuracy only at the end. Building a quiz out of keyboard trials is the naive route, and it fights you twice: long multiple choice answers make poor keyboard mappings, and the points column that sums quiz scores breaks the experiment on non form test trials. Form pages give proper multiple choice widgets, per question correctness and a points total for free. If the answer options carry graded points rather than one correct choice, use the scored likert scale pattern instead.

typecontentheadresponseTyperesponseOptionskeyscorerequiredpageBreakbutton1
instructionsAnswer the four questions. You will see your accuracy at the end.NEXT
formWhich planet has the most moons?radioEarth;Mars;Saturn;VenusSaturn0;0;1;011
formWhat is the chemical symbol for iron?radioIr;Fe;In;IFe0;1;0;011
formWhich country has the longest coastline?radioAustralia;Russia;Canada;NorwayCanada0;0;1;011
formIn which year did the Berlin Wall fall?radio1985;1989;1991;199319890;1;0;011

Each question is one type=form row with head as the question, radio in responseType and the four choices in responseOptions. pageBreak set to 1 on every question gives each its own page; because there is no back navigation between survey pages, an answer is locked in the moment the page is submitted, so a later question can never hint at an earlier one.

key holds the correct answer as plain text, which on a form question is scored against the response text: a match writes 1 and a mismatch 0 into the correct results column. Scoring is case sensitive with a twist worth knowing: a response that matches the key only after ignoring case is recorded as unscored, not incorrect, so copy the option’s exact casing into key.

score awards the points: its semicolon separated numbers map positionally onto the responseOptions entries, so 0;0;1;0 gives one point for the third option and nothing otherwise. Note a bare 1 is not a flat award for a correct answer; it would score only the first option. Each answer’s points land in a responseScore results column, and at the end the totals are written to a participant level score field.

The debrief is where accuracy appears: when the project’s score display is on, the end screen shows the average correct score computed from the correct values, and questions without a key are left out of that average. Per question feedback is not an option here, because the feedback columns never fire on form rows. required set to exactly 1 keeps every question answered.

  • Shuffle the answer choices per participant with responseOptionsRandom; a plain text key still matches the chosen text, while a responseCode= key counts positions in the written order.
  • Give partial credit by grading the points in score, for example 0;1;2;0 when one wrong option is closer than the others.
  • Collect topic subtotals by prefixing score cells with group names such as history:0;1;0;0; the final field then reads as group and total pairs. Group names take letters, digits and underscores only.
  • Put the whole quiz on one page by leaving every pageBreak cell empty; consecutive form rows collapse onto a single page.