Skip to main content
Version: v2.3.2

ButtonsResponse

Defined in: parser/types.ts:656

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
excludeFromRandomization?booleanExclude response from randomization. If present, will override the responseOrder randomization setting in the components. Defaults to false.BaseResponse.excludeFromRandomizationparser/types.ts:272
hidden?booleanControls whether the response is hidden.BaseResponse.hiddenparser/types.ts:262
idstringThe id of the response. This is used to identify the response in the data file.BaseResponse.idparser/types.ts:244
infoText?stringThe description that is displayed when the participant hovers over the response. This does not accept markdown.BaseResponse.infoTextparser/types.ts:250
location?ConfigResponseBlockLocationControls the response location. These might be the same for all responses, or differ across responses. Defaults to belowStimulusBaseResponse.locationparser/types.ts:254
optionOrder?"fixed" | "random"The order in which the buttons are displayed. Defaults to fixed.-parser/types.ts:660
options(string | StringOption)[]--parser/types.ts:658
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:260
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:252
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:258
requiredValue?unknownYou can provide a required value, which makes it so a participant has to answer with that value.BaseResponse.requiredValueparser/types.ts:256
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:270
stylesheetPath?stringThe path to the external stylesheet file.BaseResponse.stylesheetPathparser/types.ts:268
type"buttons"--parser/types.ts:657
withDivider?booleanRenders the response with a trailing divider. If present, will override the divider setting in the components or uiConfig.BaseResponse.withDividerparser/types.ts:264
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:266