Translations of this page:
 

JavaScript Library SoSciTools

SoSci Survey automatically includes a JavaScript library in the questionnaire . This can be used SoSciTools in JavaScripts within the questionnaire.

SoSciTools

The following static methods are available through SoSciTools:

Questionnaire Elements

  • SoSciTools.getForm() – Returns the HTML form element <form> of the questionnaire.
  • SoSciTools.disableInputs() – Deactivates all input and selection fields on the current questionnaire page (e.g. to display questions again without the participant changing anything, see also answers())
  • SoSciTools.disableInputs2() – Replaces all input and selection fields with graphics or text elements.

Questionnaire Control

  • SoSciTools.submitPage() – Send the answers from the current page as if the Next button was pressed. The parameter “back”can also be used to activate the Back button (if present on the page), which “repeat”will send the answers and then repeat the page.

Buttons in Questionnaires

  • SoSciTools.submitButtonsHide() – Hide next and back button
  • SoSciTools.submitButtonsDisplay() – Show next and back button
  • SoSciTools.showButtons() –Control the display of next and previous buttons or other buttons (language switch, cancel interview, pause interview)
  • SoSciTools.submitButtonEnable() – Activate or deactivate the Next button

General Help Functions

SoSciTools.Questionnaire

The variable SoSciTools.questionnairecontains an object of the class SoSciTools.Questionnaire. The object is also available SoSciTools.questionnaireunder the alias ( ). s2window.s2

The object supports the following methods:

  • attachCheck() – Registers a function to check the input. The function is called when the participant uses the Next button.
  • submit() – Submit the responses of the current page, as if the Next button was pressed.

In addition, (most) questions on the questionnaire page are represented by a JavaScript object within s2. This is available under the question identifier . A multiple choice question with the identifier , SE01for example, is available under s2.SE01. It is an object of the class SoSciTools.Question.

SoSciTools.Question

(Most) questions are SoSciTools.Questionrepresented by an object of the class. This object has the following properties:

  • label (read) – Returns the question identifier
  • type (read) – Returns an identifier for the question type
  • node (read) – Returns the HTML element that represents the question, usually the element with the HTML ID [QuestionID]_qst.

In addition, the following method is available:

  • addEventListener() – Listeners are registered directly for the HTML element of the question. The call s2.AB01.addEventListener()is equivalent to document.getElementById(„AB01_qst“).addEventListener().

Some question types (eg choice) trigger an event 'response'when respondents interact with the question. The event (CustomEvent) has the following properties:

  • detail.question{string} Question identifier
  • detail.element{int} Number of the option, item or sub-question
  • detail.completeboolean} Can the question be considered fully answered
  • detail.optional{int} How many optional answers (eg open input fields for the selected options) can/should be filled in? A question can be fully answered (eg selecting an option and entering a character in the open input field) and still wait for further answers (further characters in the input field).

SoSciTools.Progress

The variable SoSciTools.progress contains an object of the class SoSciTools.Progress and supports the following methods:

  • addEventListener() – Registers a function for the events 'present' or 'change'.
  • set() – Changes the displayed percentage value. Unlike the PHP function option('progress', ...), this does not affect the percentage value displayed on the following page.
  • setWithinPage() – Changes the displayed value proportionally within the current page, assuming that the progress bar on the following page increases proportionally to the number of pages in the overall questionnaire.
  • setPageMaximum() – Changes the value that setWithinPage()is working with. This JavaScript function has set()no influence on what progress value the next page will display.
en/create/soscitools.txt · Last modified: 19.09.2024 08:13 by admin
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki