Skip to main content
Version: v2.2.0

ButtonsResponse

Defined in: parser/types.ts:606

The ButtonsResponse interface is used to define the properties of a buttons response. ButtonsResponses render as a list of buttons that the participant can click. When a button is clicked, the value of the button is stored in the data file. Participants can cycle through the options using the arrow keys.

Example:

{
"id": "buttonsResponse",
"type": "buttons",
"prompt": "Click a button",
"location": "belowStimulus",
"options": [
"Option 1",
"Option 2",
"Option 3"
]
}

In this example, the participant can click one of the buttons labeled "Option 1", "Option 2", or "Option 3".

Extends

Properties

PropertyTypeDescriptionInherited fromDefined in
hidden?booleanControls whether the response is hidden.BaseResponse.hiddenparser/types.ts:260
idstringThe id of the response. This is used to identify the response in the data file.BaseResponse.idparser/types.ts:244
location?ConfigResponseBlockLocationControls the response location. These might be the same for all responses, or differ across responses. Defaults to belowStimulusBaseResponse.locationparser/types.ts:252
optionOrder?"fixed" | "random"The order in which the buttons are displayed. Defaults to fixed.-parser/types.ts:610
options(string | StringOption)[]--parser/types.ts:608
paramCapture?stringUse to capture querystring parameters in answers such as participant_name. See the examples for how this is used, but prefer uiConfig.urlParticipantIdParam if you are capturing a participant ID.BaseResponse.paramCaptureparser/types.ts:258
promptstringThe prompt that is displayed to the participant. You can use markdown here to render images, links, etc.BaseResponse.promptparser/types.ts:246
required?booleanControls whether the response is required to be answered. Defaults to true.BaseResponse.requiredparser/types.ts:250
requiredLabel?stringYou can provide a required label, which makes it so a participant has to answer with a response that matches label.BaseResponse.requiredLabelparser/types.ts:256
requiredValue?unknownYou can provide a required value, which makes it so a participant has to answer with that value.BaseResponse.requiredValueparser/types.ts:254
secondaryText?stringThe secondary text that is displayed to the participant under the prompt. This does not accept markdown.BaseResponse.secondaryTextparser/types.ts:248
style?StylesYou can set styles here, using React CSSProperties, for example: {"width": 100} or {"width": "50%"}BaseResponse.styleparser/types.ts:268
stylesheetPath?stringThe path to the external stylesheet file.BaseResponse.stylesheetPathparser/types.ts:266
type"buttons"--parser/types.ts:607
withDivider?booleanRenders the response with a trailing divider. If present, will override the divider setting in the components or uiConfig.BaseResponse.withDividerparser/types.ts:262
withDontKnow?booleanRenders the response with an option for "I don't know". This counts as a completed answer for the validation.BaseResponse.withDontKnowparser/types.ts:264