From dbc9e859aaf5ad2643986620429e7bfee1385ff5 Mon Sep 17 00:00:00 2001 From: Becky Gilbert Date: Tue, 12 Mar 2024 15:24:55 -0700 Subject: [PATCH] update survey plugin docs for surveyjs wrapper rewrite --- docs/img/surveyjs_docs_example_json.png | Bin 0 -> 126898 bytes docs/plugins/survey.md | 335 +++++++++++++++--------- 2 files changed, 208 insertions(+), 127 deletions(-) create mode 100644 docs/img/surveyjs_docs_example_json.png diff --git a/docs/img/surveyjs_docs_example_json.png b/docs/img/surveyjs_docs_example_json.png new file mode 100644 index 0000000000000000000000000000000000000000..149c318ddd716bb40c6367acbbabd83a69a2834b GIT binary patch literal 126898 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 z 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 z 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

8+4!-7|)c8B;3P=HHz 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�Ksze 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 literal 0 HcmV?d00001 diff --git a/docs/plugins/survey.md b/docs/plugins/survey.md index f30ce16d12..7a6492fe10 100644 --- a/docs/plugins/survey.md +++ b/docs/plugins/survey.md @@ -2,183 +2,261 @@ Current version: 0.2.2. [See version history](https://github.com/jspsych/jsPsych/blob/main/packages/plugin-survey/CHANGELOG.md). -The survey plugin displays one or more questions of different types, on one or more pages that the participant can navigate. This plugin is built on top of the [SurveyJS](https://surveyjs.io/) library. +The survey plugin displays one or more questions of different types, on one or more pages that the participant can navigate. This plugin is built on top of the [SurveyJS](https://surveyjs.io/) form library. -The supported question types are: +## SurveyJS Documentation -- [`"drop-down"`](#drop-down) for presenting a question with a limited set of options in a drop-down menu. The participant can only select one option. -- [`"likert"`](#likert) for presenting a prompt along with a discrete rating scale. -- [`"likert-table"`](#likert-table) for presenting a prompt along with a table of statements/questions (rows) and repeated response options for each statement/question (columns). -- [`"multi-choice"`](#multi-choice) for presenting a question with a limited set of options. The participant can only select one option. -- [`"multi-select"`](#multi-select) for presenting a question with a limited set of options. The participant can select multiple options. -- [`"ranking"`](#ranking) for presenting a question with a limited set of options, where participants respond by dragging and dropping (ordering/ranking) the options. -- [`"text"`](#text) for presenting a question with a free response text field in which the participant can type in an answer. +SurveyJS is a large and powerful library, with lots of helpful documentation. Here we have tried to orient jsPsych users to the basic steps for constructing surveys and highlight the features that jsPsych users may find most useful. However, it is not possible for us to reproduce the SurveyJS documentation here, so we encourage you to use their documentation and examples. -There is also an [`"html"`](#html) type for adding arbitrary HTML-formatted content (without any associated response field) in the question set. +!!! note + SurveyJS offers a number of different products - when looking at their documentation website, make sure that you're looking at the free ['form library'](https://surveyjs.io/form-library). -!!! warning - Development on this plugin is ongoing and we plan to incorporate more of the features that [SurveyJS](https://surveyjs.io/) provides. Prior to release of version `1.0` of the plugin, we expect the parameters and implementation of this plugin to change. We recommend performing a little bit of extra testing with any experiments that utilize this plugin. +SurveyJS allows you to build surveys using a JSON string, a JavaScript function, or a combination of both. -## CSS +- [Define a survey in JSON](https://surveyjs.io/form-library/documentation/design-survey/create-a-simple-survey#define-a-static-survey-model-in-json) +- [Create or change a survey with JavaScript](https://surveyjs.io/form-library/documentation/design-survey/create-a-simple-survey#create-or-change-a-survey-model-dynamically) -This plugin uses an additional stylesheet called `survey.css`. You can load it via: +The jsPsych `survey` plugin provides parameters that accept these methods of constructing a SurveyJS survey. -```html - -``` +Here are some other great places to start learning about SurveyJS: -If you are using a bundler such as [webpack](https://webpack.js.org/), you can also import it in JavaScript as follows, depending on your bundler configuration: -```javascript -import '@jspsych/plugin-survey/css/survey.css' -``` +- [Add multiple pages to a survey](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#add-multiple-pages-to-a-survey) +- [Configure conditional page visibility](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#configure-page-visibility) +- [Page navigation UI](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#page-navigation-ui) (previous, next, and submit buttons) +- [Add conditional logic and dynamic texts](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic) +- [Set default values](https://surveyjs.io/form-library/documentation/design-survey/pre-populate-form-fields#default-question-values) -## Parameters +You can find realistic examples on this [SurveyJS examples/demos page](https://surveyjs.io/form-library/examples/overview). -In addition to the [parameters available in all plugins](../overview/plugins.md#parameters-available-in-all-plugins), this plugin accepts the following parameters. -Parameters with a default value of *undefined* must be specified. -Other parameters can be left unspecified if the default value is acceptable. +## Question/Element Types -### Survey parameters +SurveyJS requires that you add one or more "elements" to a survey. Elements are typically questions that the participant can (or must) respond to. But there are also some non-question elements, such as "expression", "html" and "image" types. -Parameter | Type | Default Value | Description -----------|------|---------------|------------ -pages | array | *undefined* | An array of arrays. Each inner array contains the content for a single page, which is made up of one or more question objects. -button_label_next | string | 'Continue' | Label of the button to move forward to the next page, or finish the survey. -button_label_back | string | 'Back' | Label of the button to move to a previous page in the survey. -button_label_finish | string | 'Finish' | Label of the button to submit responses. -autocomplete | boolean | `false` | This determines whether or not all of the input elements on the page should allow autocomplete. Setting this to `true` will enable autocomplete or auto-fill for the form. -show_question_numbers | string | "off" | One of: "on", "onPage", "off". If "on", questions will be labelled starting with "1." on the first page, and numbering will continue across pages. If "onPage", questions will be labelled starting with "1.", with separate numbering on each page. If "off", no numbers will be added before the question prompts. Note: HTML question types are ignored in automatic numbering. -title | string | `null` | If specified, this text will be shown at the top of the survey pages. -required_error | string | "Please answer the question." | Text to display if a required question is not responeded to. -required_question_label | string | "*" | String to display at the end of required questions. Use an empty string ("") if you do not want to add a label to the end of required questions. +The SurveyJS question/element types are listed below, with links to more information and examples in the SurveyJS documentation. -### Question types and parameters +!!! tip + On the SurveyJS example page for each question type, you will see a demo survey. At the bottom of the page, there is a 'Code' button you can click to see the code that runs this demo. Click on the 'json.js' file to see the JSON you can use in jsPsych's `survey_json` parameter. + ![SurveyJS documentation with example JSON](../img/surveyjs_docs_example_json.png) -#### Parameters for all question types +### boolean -Parameters with a default value of *undefined* must be specified. -Other parameters can be left unspecified if the default value is acceptable. +The "boolean" type is a yes/no (or other two-option) multiple choice question. It differs from the "radiogroup" (multiple choice) question type in that it offers different response format options (left/right slider button, yes/no checkbox) in addition to the standard multiple choice format (two separate radio buttons). -Parameter | Type | Default Value | Description -----------|------|---------------|------------ -type | string | *undefined* | The question type. Options are: "drop-down", "html", "likert", "likert-table", "multi-choice", "multi-select", "ranking", "rating", "text". -prompt | string | *undefined* | The prompt/question that will be associated with the question's response field. If the question type is "html", then this string is the HTML-formatted string to be displayed. If the question type is "likert-table", the prompt is a general question or title presented above the table. -required | boolean | `false` | Whether a response to the question is required (`true`) or not (`false`), using the HTML5 `required` attribute. -name | string | `null` | Name of the question to be used for storing data. If this parameter is not provided, then default names will be used to identify the questions in the data: `P0_Q0`, `P0_Q1`, `P1_Q0` etc. Question names must be unique across all pages within the trial. +[SurveyJS boolean example](https://surveyjs.io/form-library/examples/yes-no-question/jquery) -#### Drop-down +[SurveyJS boolean API documentation](https://surveyjs.io/form-library/documentation/api-reference/boolean-question-model) -Present a question with a limited set of options in a drop-down menu. The participant can only select one option. +### checkbox -In addition to the parameters for all question types, the drop-down question type also offers the following parameters. -Parameters with a default value of *undefined* must be specified. -Other parameters can be left unspecified if the default value is acceptable. +This is the "multi-select" question type: participants can select one or more options from the set of choices. -Parameter | Type | Default Value | Description -----------|------|---------------|------------ -options | array of strings | *undefined* | This array contains the set of multiple choice options to display for the question. -option_reorder | string | "none" | One of: "none", "asc", "desc", "random". If "none", the options will be listed in the order given in the `options` array. If `random`, the option order will be randomized. If "asc" or "desc", the options will be presented in ascending or descending order, respectively. -correct_response | string | null | String from the `options` array that should be considered correct. If specified, the data will include a `correct` property that indicates whether the response was correct (`true`) or not (`false`). +[SurveyJS checkbox example](https://surveyjs.io/form-library/examples/create-checkboxes-question-in-javascript/jquery) -#### HTML +[SurveyJS checkbox API documentation](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model) -Present arbitrary HTML-formatted content embedded in the list of questions, including text, images, and sounds. There are no response options. +### comment -The only available parameters are those listed for all question types with a default value of *undefined* (`type` and `prompt`) and `name`. -The `name` parameter is optional and used to identify the question in the data, with a response value of `null`. -The `required` parameter will be ignored. +This is the "long text" question type. It's similar to the text input question, but unlike text input, you can make the comment text box larger than a single line. You can also make the box resizeable and limit the number of characters. -#### Likert +[SurveyJS comment example](https://surveyjs.io/form-library/examples/add-open-ended-question-to-a-form/jquery) -Present a prompt along with a discrete rating scale. The scale values are presented as buttons that can be selected and de-selected. -The scale is specified by the `likert_scale_values` parameter, which is an array of text labels and associated values, or it is generated using the `likert_rating_min`/`max`/`stepsize` parameters (along with optional maximum/minimum descriptions). +[SurveyJS comment API documentation](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model) -In addition to the parameters for all question types, the likert question type also offers the following parameters. -Parameters with a default value of *undefined* must be specified. -Other parameters can be left unspecified if the default value is acceptable. +### dropdown -Parameter | Type | Default Value | Description -----------|------|---------------|------------ -likert_scale_values | array of objects | `null` | Array of objects that defines the rating scale labels and associated values to be stored in the data. Each object defines a single rating option. The objects must have a `value` property, which is an integer or string value that will be stored as the response in the data. The objects can optionally have a `text` property, which is a string that will be displayed for that rating option (example: `[{value: 1, text: "A lot"},{value: 2, text: "Somewhat"},{value: 3, text: "Not much"}]`). If no `text` property is specified then the `value` will be displayed (examples: `[{value: 1},{value: 2},{value: 3}]`, `[{value: "Yes"},{value: "Maybe"},{value: "No"}]`). If provided, this parameter will override the `likert_rating_min`/`max`/`stepsize` parameters. -likert_scale_min | integer | 1 | If the `likert_scale_values` array is not specified, then this parameter will define the minimum scale value. -likert_scale_max | integer | 5 | If the `likert_scale_values` array is not specified, then this parameter will define the maximum scale value. -likert_scale_stepsize | integer | 1 | If the `likert_scale_values` array is not specified, then this parameter will define the step size that should be used for generating rating options between the minimum and maximum values. -likert_scale_min_label | string | `null` | Description for the minimum (first) rating option. If provided, this text will be shown inside the first rating button, before the rating text/value. This parameter is meant for defining the scale's minimum when integer values are used for the rating scale buttons. -likert_scale_max_label | string | `null` | Description for the maximum (last) rating option. If provided, this text will be shown inside the first rating button, after the rating text/value. This parameter is meant for defining the scale's maximum when integer values are used for the rating scale buttons. +The dropdown question type allows participants to select a single option from a list presented in a drop-down box. -#### Likert-table +[SurveyJS dropdown example](https://surveyjs.io/form-library/examples/create-dropdown-menu-in-javascript/jquery) -Present a prompt along with a table of statements/questions (rows) and repeated response options for each statement/question (columns). +[SurveyJS dropdown API documentation](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) -In addition to the parameters for all question types, the likert-table question type also offers the following parameters. -Parameters with a default value of *undefined* must be specified. -Other parameters can be left unspecified if the default value is acceptable. +### tagbox -Parameter | Type | Default Value | Description -----------|------|---------------|------------ -statements | array of objects | *undefined* | This array contains one or more objects representing the statements/questions to be presented in the table rows. Each object must have a `prompt`, which is the statement/question text. The objects can optionally include a `name`, which is how the statement should be identified in the data. If no `name` is provided, then the default values of "S0", "S1" etc. will be used. -options | array of strings | *undefined* | This array contains the set of multiple choice options to be presented in the table columns. -randomize_statement_order | boolean | `false` | If `true`, the order of statements/questions in the `statements` array will be randomized. +This is a multi-select dropdown question type. It is similar to a dropdown question, but allows participants to select more than one response from the drop-down list. -#### Multi-choice +[SurveyJS tagbox example](https://surveyjs.io/form-library/examples/how-to-create-multiselect-tag-box/jquery) -Present a question with a limited set of options. The participant can only select one option. +[SurveyJS API documentation](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) -In addition to the parameters for all question types, the multi-choice question type also offers the following parameters. -Parameters with a default value of *undefined* must be specified. -Other parameters can be left unspecified if the default value is acceptable. +### expression -Parameter | Type | Default Value | Description -----------|------|---------------|------------ -options | array of strings | *undefined* | This array contains the set of multiple choice options to display for the question. -option_reorder | string | "none" | One of: "none", "asc", "desc", "random". If "none", the options will be listed in the order given in the `options` array. If `random`, the option order will be randomized. If "asc" or "desc", the options will be presented in ascending or descending order, respectively. -columns | integer | 1 | Number of columns to use for displaying the options. If 1 (default), the choices will be displayed in a single column (vertically). If 0, choices will be displayed in a single row (horizontally). Any value greater than 1 can be used to display options in multiple columns. -correct_response | string | null | String from the `options` array that should be considered correct. If specified, the data will include a `correct` property that indicates whether the response was correct (`true`) or not (`false`). +This is a read-only element that calculates a value based on a specified expression. This question type can be used to dynamically calculate values based on the participant's responses and/or predefined variables and display the calculated value on the page. For example, if you asked participants to estimate the percentage of their day doing various activies, you could have participants enter a percentage value for each activity, and use this 'expression' question to calculate and display the total percentage across all activities (to ensure that it does not exceed 100). -#### Multi-select +[SurveyJS expression example](https://surveyjs.io/form-library/examples/expression-question-for-dynamic-form-calculations/jquery) -Present a question with a limited set of options. The participant can select multiple options. +[SurveyJS expression API documentation](https://surveyjs.io/form-library/documentation/api-reference/expression-model) -In addition to the parameters for all question types, the multi-select question type also offers the following parameters. -Parameters with a default value of *undefined* must be specified. -Other parameters can be left unspecified if the default value is acceptable. +### file -Parameter | Type | Default Value | Description -----------|------|---------------|------------ -options | array of strings | *undefined* | This array contains the set of options to display for the question. -option_reorder | string | "none" | One of: "none", "asc", "desc", "random". If "none", the options will be listed in the order given in the `options` array. If `random`, the option order will be randomized. If "asc" or "desc", the options will be presented in ascending or descending order, respectively. -columns | integer | 1 | Number of columns to use for displaying the options. If 1 (default), the choices will be displayed in a single column (vertically). If 0, choices will be displayed in a single row (horizontally). Any value greater than 1 can be used to display options in multiple columns. -correct_response | array of strings | null | Array of one or more strings from the `options` array that should be considered correct. If specified, the data will include a `correct` property that indicates whether the response was correct (`true`) or not (`false`). +This question allows participants to upload one or more files (images, documents, etc.). It provides drag-and-drop and browse/select options. Files can be uploaded to a server or stored directly in the survey results JSON object as base64-encoded text. -#### Ranking +!!! note + When using this question type, you will need to choose how to handle the files. One option is to save the file with the rest of the response data as a Base64-encoded text string (`storeDataAsText: true`), but keep in mind that this will significantly increase the size of the response data and should only be used for small files. Another option is to upload the participant's file to a server, which you can do using the `onUploadFiles` event handler in the jsPsych `survey_function` function. You can read more about these options in the SurveyJS [file upload documentation](https://surveyjs.io/form-library/examples/file-upload/jquery#content-docs), and see an example of the file upload option in the `index.js` part of this [code example](https://surveyjs.io/form-library/examples/file-upload/jquery#content-code). -Present a question with a limited set of options, where participants respond by dragging and dropping (ordering/ranking) the options. It is ideally used with a short list of options (up to about 7 items). It supports mouse responses, touch responses (mobile devices), and keyboard responses (Tab and Shift-Tab to select, and Up/Down arrow keys to re-order). +[SurveyJS file example](https://surveyjs.io/form-library/examples/file-upload/jquery) -In addition to the parameters for all question types, the ranking question type also offers the following parameters. -Parameters with a default value of *undefined* must be specified. -Other parameters can be left unspecified if the default value is acceptable. +[SurveyJS file API documentation](https://surveyjs.io/form-library/documentation/api-reference/file-model) -Parameter | Type | Default Value | Description -----------|------|---------------|------------ -options | array of strings | *undefined* | This array contains the set of to-be-ranked options for the question. -option_reorder | string | "none" | One of: "none", "asc", "desc", "random". If "none", the options will be listed in the order given in the `options` array. If `random`, the option order will be randomized. If "asc" or "desc", the options will be presented in ascending or descending order, respectively. -correct_response | array of strings | null | The same array of strings used for the `options` array, but listed in the order that should be considered correct. If specified, the data will include a `correct` property that indicates whether the response was correct (`true`) or not (`false`). +### html + +Most SurveyJS question types do not support HTML markup in the display fields. The html element allows you to add custom HTML to the survey, so that you can insert images, hyperlinks, etc. + +[SurveyJS HTML example](https://surveyjs.io/form-library/examples/add-html-form-field/jquery#) + +[SurveyJS HTML API documentation](https://surveyjs.io/form-library/documentation/api-reference/add-custom-html-to-survey) + +### image + +This element adds an image or video to the survey page. + +[SurveyJS image example](https://surveyjs.io/form-library/examples/add-image-and-video-to-survey/jquery#) + +[SurveyJS image API documentation](https://surveyjs.io/form-library/documentation/api-reference/add-image-to-survey) + +### imagepicker + +This question type displays images/videos and allows the participant to select one or more as their repsonse. + +[SurveyJS imagepicker example](https://surveyjs.io/form-library/examples/image-picker-question/jquery) + +[SurveyJS imagepicker API documentation](https://surveyjs.io/form-library/documentation/api-reference/image-picker-question-model) + +### matrix + +The matrix question creates a table of multiple choice questions (rows) that use the same set of response options (columns). This is often used for presenting multiple questions/statements with a Likert or similar rating scale. + +[SurveyJS matrix example](https://surveyjs.io/form-library/examples/single-selection-matrix-table-question/jquery) + +[SurveyJS matrix API documentation](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model) + +### matrixdropdown + +This question type allows you to present a matrix (table) of questions, with different types of response options in each cell. Despite the "dropdown" part of the question type name, this question type allows not only dropdown questions in the matrix cells, but also checkbox, radiogroup, text, and comment. + +[SurveyJS matrixdropdown example](https://surveyjs.io/form-library/examples/multi-select-matrix-question/jquery) + +[SurveyJS matrixdropdown API documentation](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list) + +### multipletext -#### Text +This question type allows you to present multiple [text questions](#text) as part of a single 'question', which can be useful if you want to group together related short-answer text input boxes (e.g. separate first/middle/last text boxes for entering full name). Each 'item' within this question type defines a single text question, and supports the text question's input types (email, date, etc.) for built-in formatting and validation. In the results, there will be a single key for this question (either the question name, if specified in the question parameters, otheriwse automatically named `questionN`), and the value will be an object with key-value pairs for each text entry 'item' (`"item1Name": "item1Response", "item2Name": "item2Response"`, etc.). -Present a question with a free response text field in which the participant can type in an answer. +[SurveyJS multipletext example](https://surveyjs.io/form-library/examples/multiple-text-box-question/jquery) -In addition to the parameters for all question types, the text question also offers the following parameters. +[SurveyJS multipletext API documentation](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model) + +### panel + +This element allows you to group related questions together. This can help with visual organization on the page, and can help participants understand the purpose of a set of questions. Panels appear as a title/description above a box that contains the panel's nested elements/questions. The panel can be initially expanded (show all questions) and collapsed (hide all questions), and users can toggle this state by clicking on the panel title. + +[SurveyJS panel example](https://surveyjs.io/form-library/examples/set-properties-on-multiple-questions-using-panel/jquery) + +[SurveyJS panel API documentation](https://surveyjs.io/form-library/documentation/api-reference/panel-model) + +### paneldynamic + +The paneldyanmic element allows you to set up a group of questions that repeat based on the participant's response(s) to another question. This can be useful when the participant will have an unknown number of responses, and you want to ask the same questions about each response. For instance, you could use this element type to set up a series of questions about the participant's children, employment history, favorite hobbies, etc. The paneldynamic element allows participants to add/delete the 'subpanels' (response and associated question set). + +[SurveyJS paneldynamic example](https://surveyjs.io/form-library/examples/duplicate-group-of-fields-in-form/jquery) + +[SurveyJS paneldynamic API documentation](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model) + +### radiogroup + +This is a multiple choice question type. Participants can select a single option from the set of choices. + +[SurveyJS radiogroup example](https://surveyjs.io/form-library/examples/single-select-radio-button-group/jquery) + +[SurveyJS radiogroup API documentation](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model) + +### rating + +The rating question type is a type of multiple-choice question that is intended for allowing participants to evaluate something on a scale. The scale can display a range of numbers, graphic symbols (stars, faces), or text labels. The scale options can be presented as a set of horizontal buttons, a drop-down menu, or "auto" (displays buttons if there is sufficient page width, otherwise drop-down; see the [SurveyJS Rating UI page](https://surveyjs.io/form-library/examples/ui-adaptation-modes-for-rating-scale/jquery) for more documentation and examples). + +[SurveyJS rating example](https://surveyjs.io/form-library/examples/rating-scale/jquery) + +[SurveyJS rating API documentation](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) + +### ranking + +The ranking question allows participants to arrange a set of choices in order of preference, importance, or other criteria, or assign a numerical value to each choice based on their relative rank. The options are displayed vertically, and participants can drag-and-drop to change their order. +This question type can be useful when used with the SurveyJS "carry forward" feature. For instance, you can take the participant's responses from a previous checkbox (multi-select) question and use those selections as the options to rank in a ranking question (see the `reference_previous_answers.html` example in the jsPsych survey package). It's also possible to combine the selection and ranking steps into a single question using the ['select items to rank'](https://surveyjs.io/form-library/examples/select-items-to-rank/jquery) approach, which allows participants to 'select' items by dragging them into a separate ranking area, and re-order the items in the ranking area. + +[SurveyJS ranking example](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model) + +[SurveyJS ranking API documentation](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model) + +### signaturepad + +The signaturepad question allows participants to add their digital signature to the survey by drawing with the mouse or finger (on a trackpad or touchscreen-enabled device). You can specify the pen color and box size, and save the signature as Base64-encoded text in PNG (default), JPEG, or SVG format. You can also save the image directly to a server rather than encoding it as text with the rest of the response data. See this [SurveyJS demo and documentation](https://surveyjs.io/form-library/examples/upload-signature-pad-data-to-server/jquery#content-code) about uploading the signature as an image file, and the [file question](#file) for more information and warnings about handling files. + +[SurveyJS signaturepad example](https://surveyjs.io/form-library/examples/signature-pad-widget-javascript/jquery) + +[SurveyJS signaturepad API documentation](https://surveyjs.io/form-library/documentation/api-reference/signature-pad-model) + +### text + +In addition to a basic text input box, you can select from any of these other input types: **color, date, datetime-local, email, month, number, password, range, tel, time, url, week**. Setting these input types will change things like (1) the format of the response elements, (2) the characters/values that the participant is allowed to enter, and/or (3) add automatic validation for the response format. + +[SurveyJS text input examples](https://surveyjs.io/form-library/examples/text-entry-question/jquery) - includes email, password, and URL input types + +[SurveyJS date/time input examples](https://surveyjs.io/form-library/examples/datetime-entry-question/jquery) + +[SurveyJS numeric input examples](https://surveyjs.io/form-library/examples/numeric-entry-question/jquery) - includes range input (slider) and telephone number input types + +[SurveyJS color input example](https://surveyjs.io/form-library/examples/color-input-question/jquery) + +[SurveyJS text API documentation](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) + +## Other options and features + +- [Automatic question numbering](https://surveyjs.io/form-library/examples/how-to-number-pages-and-questions/jquery) (across the survey, within each page, and using custom values/characters) +- [Response validation](https://surveyjs.io/form-library/examples/javascript-form-validation/jquery) +- [Table of contents and navigation across sections](https://surveyjs.io/form-library/examples/table-of-contents/jquery) +- [Progress bar](https://surveyjs.io/form-library/examples/configure-form-navigation-with-progress-indicators/jquery) +- [Carry responses forward from a selection question](https://surveyjs.io/form-library/examples/carry-forward-responses/jquery) +- [Carry responses forward from a dynamic matrix/panel](https://surveyjs.io/form-library/examples/pipe-answers-from-dynamic-matrix-or-panel/jquery) +- [Conditional visibility for elements/questions](https://surveyjs.io/form-library/examples/implement-conditional-logic-to-change-question-visibility/jquery) +- Special choices for multi-choice-type questions: [None](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model#showNoneItem), [Other](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model#showOtherItem), [Select All](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#showSelectAllItem), [Refuse to answer](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model#showRefuseItem), and [Don't know](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model#showDontKnowItem) +- [Localization](https://surveyjs.io/form-library/examples/survey-localization/jquery) (adapting the survey's language based on a country/region value and associated set of content and UI translations) +- [Text piping](https://surveyjs.io/form-library/examples/text-piping-in-surveys/jquery) (dynamically insert text into questions/answers based on previous responses) +- [Survey API documentation](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model) + +## Limitations + +Currently, the jsPsych `survey` plugin does not support certain features of the SurveyJS library. These are: + +- **The "[complete page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#complete-page)" parameter.** This is a parameter for HTML formatted content that should appear after the participant clicks the 'submit' button. Instead of using this parameter, you should create another jsPsych trial that comes after the survey trial to serve the same purpose. +- **Quizzes and automatic response scoring with the question's `correctAnswer` property.** SurveyJS does not store this value or the response score in the data - instead this is only used to display scores on the survey's 'complete page'. Since the complete page is not supported, this 'correctAnswer' property also does not work as intended in the jsPsych plugin. + +The jsPsych 'survey' plugin is also not compatible with jsPsych's timeline variables feature. + +## CSS + +This plugin uses an additional stylesheet called `survey.css`. You can load it via: + +```html + +``` + +If you are using a bundler such as [webpack](https://webpack.js.org/), you can also import it in JavaScript as follows, depending on your bundler configuration: +```javascript +import '@jspsych/plugin-survey/css/survey.css' +``` + +## Parameters + +In addition to the [parameters available in all plugins](../overview/plugins.md#parameters-available-in-all-plugins), this plugin accepts the following parameters. Parameters with a default value of *undefined* must be specified. Other parameters can be left unspecified if the default value is acceptable. +### Survey parameters + Parameter | Type | Default Value | Description ----------|------|---------------|------------ -placeholder | string | "" | Placeholder text in the text response field. -textbox_rows | integer | 1 | The number of rows (height) for the response text box. -textbox_columns | integer | 40 | The number of columns (width) for the response text box. -validation | string | "" | A regular expression used to validate the response. -input_type | string | "text" | Type for the HTML `` element. The `input_type` parameter must be one of "color", "date", "datetime-local", "email", "month", "number", "password", "range", "tel", "text", "time", "url", "week". If the `textbox_rows` parameter is larger than 1, the `input_type` parameter will be ignored. The `textbox_columns` parameter only affects questions with `input_type` "email", "password", "tel", "url", or "text". +survey_json | JSON string | "{}"| A SurveyJS-compatible JSON string that defines the survey. If used with the `survey_function` parameter, the survey will initially be constructed with this JSON string and then passed to the `survey_function`. +survey_function | function | null | A function that receives a SurveyJS survey object as an argument. If no `survey_json` is specified, then the function receives an empty survey model and must add all pages/elements to it. If a `survey_json` string is provided, then this forms the basis of the survey object that is passed into the `survey_function`. +validation_function | function | null | A function that can be used to validate responses. This function is called whenever the SurveyJS `onValidateQuestion` event occurs. (It is also possible to add this function to the survey using the `survey_function` parameter - we've just added it as a parameter for convenience). ## Data Generated @@ -186,7 +264,7 @@ In addition to the [default data collected by all plugins](../overview/plugins.m Name | Type | Value -----|------|------ -response | object | An object containing the response to each question. The object will have a separate key (variable) for each question, with the first question on the first page being recorded in `P0_Q0`, the second question on the first page in `P0_Q1`, and so on. If the `name` parameter is defined for the question, then the response object will use the value of `name` as the key for each question. The response type will depend on the question type. This will be encoded as a JSON string when data is saved using the `.json()` or `.csv()` functions. Note that, if any questions use the `other` option (`add_other_option: true`), then the response value will be the `other_option_text` (e.g. "Other") and any text written in the textbox will be saved as "(question name)-Comment". | +response | object | An object containing the response to each question. The object will have a separate key (variable) for each question. If the `name` parameter is defined for the question (recommended), then the response object will use the value of `name` as the key for each question. If any questions do not have a name parameter, their keys will named automatically, with the first unnamed question recorded as `question1`, the second as `question2`, and so on. The response type will depend on the question type. This will be encoded as a JSON string when data is saved using the `.json()` or `.csv()` functions. | rt | numeric | The response time in milliseconds for the participant to make a response. The time is measured from when the questions first appear on the screen until the participant's response(s) are submitted. | ## Simulation Mode @@ -199,12 +277,14 @@ Using the CDN-hosted JavaScript file: ```js + ``` Using the JavaScript file downloaded from a GitHub release dist archive: ```js + ``` Using NPM: @@ -214,6 +294,7 @@ npm install @jspsych/plugin-survey ``` ```js import survey from '@jspsych/plugin-survey'; +import '@jspsych/plugin-survey/css/survey.css' ``` ## Examples