SurveyJS is a sturdy, customizable, cross-platform Survey/Suggestions/Questionnaire/Quiz JavaScript library designed for jQuery, Angular, React, VueJS, knockout, and many others.
Principal options:
- Supported query varieties: enter, radio, checkbox, dropdown, matrix, score, picture picker, remark, customized operate, and many others.
- Share knowledge between questions.
- Print to PDF.
- Analyze survey outcomes.
- Helps situation logic.
- Markdown and Textual content Processing.
- A number of languages.
- Type validation.
- 8 built-in themes.
- Helps third plugins: select2, jQuery UI date picker, Nouislider, and rather more.
Fundamental utilization (jQuery):
1. Embrace jQuery library and the SurveyJS library’s information on the web page.
<script src="/path/to/cdn/jquery.min.js"></script> <script src="/path/to/survey.jquery.js"></script> <hyperlink href="/path/to/survey.css" sort="textual content/css" rel="stylesheet"/>
2. Outline your questions utilizing JSON. You may construct your individual JSON utilizing the on-line survey editor.
var json = { "completedHtml": "<h3>Thanks in your suggestions.</h3> <h5>Your ideas and concepts will assist us to create an important product!</h5>", "completedHtmlOnCondition": [ { "expression": "{nps_score} > 8", "html": "<h3>Thank you for your feedback.</h3> <h5>We glad that you love our product. Your ideas and suggestions will help us to make our product even better!</h5>" }, { "expression": "{nps_score} < 7", "html": "<h3>Thank you for your feedback.</h3> <h5> We are glad that you share with us your ideas.We highly value all suggestions from our customers. We do our best to improve the product and reach your expectation.</h5>n" } ], "pages": [ { "name": "page1", "elements": [ { "type": "rating", "name": "nps_score", "title": "On a scale of zero to ten, how likely are you to recommend our product to a friend or colleague?", "isRequired": true, "rateMin": 0, "rateMax": 10, "minRateDescription": "(Most unlikely)", "maxRateDescription": "(Most likely)" }, { "type": "checkbox", "name": "promoter_features", "visibleIf": "{nps_score} >= 9", "title": "What features do you value the most?", "isRequired": true, "validators": [ { "type": "answercount", "text": "Please select two features maximum.", "maxCount": 2 } ], "hasOther": true, "selections": [ "Performance", "Stability", "User Interface", "Complete Functionality" ], "otherText": "Different characteristic:", "colCount": 2 }, { "sort": "remark", "title": "passive_experience", "visibleIf": "{nps_score} > 6 and {nps_score} < 9", "title": "What's the major purpose in your rating?" }, { "sort": "remark", "title": "disappointed_experience", "visibleIf": "{nps_score} notempty", "title": "What do you miss and what was disappointing in your expertise with us?" } ] } ], "showQuestionNumbers": "off" };
3. Create a container to position the survey.
<div id="myContainer"></div>
4. Generate a surver type from the JSON you present.
window.survey = new Survey.Mannequin(json); $("#myContainer").Survey({ mannequin: survey, onComplete: sendDataToServer });
5. The instance JS that exhibits the right way to ship the outcomes to your server.
operate sendDataToServer(survey) { var resultAsString = JSON.stringify(survey.knowledge); // ship the resultAsString to the server }
6. The instance JS that exhibits the right way to ship the outcomes to your server.
operate sendDataToServer(survey) { var resultAsString = JSON.stringify(survey.knowledge); // ship the resultAsString to the server }
7. Set the theme you want to make use of. All themes:
Survey.StylesManager.applyTheme("bootstrap"); Survey.StylesManager.applyTheme("orange"); Survey.StylesManager.applyTheme("darkblue"); Survey.StylesManager.applyTheme("darkrose"); Survey.StylesManager.applyTheme("stone"); Survey.StylesManager.applyTheme("winter"); Survey.StylesManager.applyTheme("winterstone");
Changelog:
v1.9.48 (2022-09-07)
v1.9.47 (2022-08-31)
v1.9.46 (2022-08-24)
v1.9.45 (2022-08-16)
v1.9.44 (2022-08-10)
v1.9.43 (2022-08-03)
v1.9.42 (2022-07-28)
- Matrixdropdown: Repair default minimal column width
v1.9.41 (2022-07-21)
- Validation message for min/max date on date query is unintuitive fastened
v1.9.40 (2022-07-12)
- Added the ICustomQuestionTypeConfiguration interfrace to export
v1.9.39 (2022-07-05)
- Take away fixed array duplication on defining inputTypes and dataList fastened
v1.9.38 (2022-06-30)
- PanelDynamic: Permit cutomize Add and Take away Row Button in React
v1.9.37 (2022-06-22)
- implement disableHide property for motion
v1.9.36 (2022-06-21)
v1.9.35 (2022-06-15)
- Abstract would not work corretly in matrices if there’s visibleIf situation in column and survey.clearInvisibleValues is used fastened
v1.9.34 (2022-06-07)
v1.9.33 (2022-05-31)
v1.9.32 (2022-05-25)
- bugfix
- help dropdown merchandise template
v1.9.31 (2022-05-18)
v1.9.30 (2022-05-17)
v1.9.29 (2022-05-11)
v1.9.27 (2022-05-05)
v1.9.27 (2022-04-27)
v1.9.26 (2022-04-20)
v1.9.25 (2022-04-15)
- completeText property in json just isn’t utilized fastened
v1.9.24 (2022-04-12)
v1.9.23 (2022-04-06)
v1.9.22 (2022-03-29)
- Mounted: File names are overlapping
v1.9.21 (2022-03-25)
- Repair resize observer destruction
v1.9.20 (2022-03-17)
- Add createExpressionExecutor as static property
v1.9.19 (2022-03-10)
v1.9.18 (2022-02-24)
v1.9.16 (2022-02-24)
v1.9.15 (2022-02-23)
v1.9.14 (2022-02-17)
v1.9.13 (2022-02-15)
v1.9.12 (2022-02-10)
v1.9.11 (2022-02-10)
v1.9.10 (2022-02-09)
v1.9.8 (2022-02-02)
v1.9.7 (2022-01-26)
v1.9.6 (2022-01-19)
v1.9.5 (2022-01-11)
v1.9.4 (2021-12-30)
- Mounted Accessibility violations for checkboxes
v1.9.3 (2021-12-22)
v1.9.2 (2021-12-15)
- Implement query single picture state.
- Repair mistype import
- Write file query etalons with headless mode
v1.9.1 (2021-12-08)
- Repair checkbox in logic: make query take its cssClasses not from survey
v1.9.0 (2021-12-02)
v1.8.79 (2021-11-25)
v1.8.78 (2021-11-17)
- add displayMode choice for popup
v1.8.77 (2021-11-10)
v1.8.76 (2021-11-03)
v1.8.75 (2021-10-27)
v1.8.74 (2021-10-27)
v1.8.73 (2021-10-21)
v1.8.71 (2021-10-13)
v1.8.71 (2021-10-08)
v1.8.70 (2021-09-30)
v1.8.69 (2021-09-29)
v1.8.68 (2021-09-21)
- Bug Repair: Checkbox selections aren’t being rendered after utilizing fromJSON
v1.8.67 (2021-09-17)
- Bug Repair: Checkbox selections aren’t being rendered after utilizing fromJSON
v1.8.66 (2021-09-16)
v1.8.65 (2021-09-08)
v1.8.64 (2021-09-01)
v1.8.62 (2021-08-25)
v1.8.61 (2021-08-19)
v1.8.60 (2021-08-12)
v1.8.59 (2021-08-04)
v1.8.58 (2021-07-29)
v1.8.57 (2021-07-21)
v1.8.56 (2021-07-14)
v1.8.55 (2021-07-07)
v1.8.54 (2021-06-30)
v1.8.53 (2021-06-16)
v1.8.52 (2021-06-16)
- Mounted: Present invisible components would not work in react
v1.8.51 (2021-06-10)
- Mounted: Present invisible components would not work in reac
v1.8.50 (2021-06-04)
v1.8.49 (2021-05-26)
v1.8.48 (2021-05-20)
v1.8.47 (2021-05-14)
v1.8.46 (2021-04-30)
v1.8.45 (2021-04-28)
- Don’t get “Choose All”, “None” and “Others” selections when copy them from choicesFromQuestion
- Challenge on mixture between default worth on query + single web page survey + visibleif on alternative
- Peformance enhancements on loading and worth altering for very massive surveys
- Textual content processing would not work appropriately in matrix dropdown/dynamic columns in knockout
v1.8.44 (2021-04-21)
- Mounted: Bug on clear solutions on full on selections from net property
- Mounted: Creator V2: Localizable properties could present default values from one other properties in matrix dynamic
- Mounted: Don’t modify expression questions if survey in show mode
- Mounted: Incorrect default worth for panelRemoveButtonLocation property
- Mounted: MultipleText query set empty string as worth for his or her gadgets
- Mounted: Vue (radiogroup and checkbox questions): enableIf in selections property would not work appropriately
v1.8.43 (2021-04-15)
- Mounted: rateValues property in Score query has “charges” title in property hash
v1.8.42 (2021-04-14)
- Mounted: showInvisibleElements prop present solely empty divs with class “sv-vue-row-additional-div”
- Mounted: survey.clear() would not clear different textual content if defaultValue is “different”
- Mounted: visibleIf doesn’t work on subsequent pages for Vue implementation solely
v1.8.41 (2021-04-06)
- Scale back the variety of requires survey.onGetMatrixRowActions occasion.
v1.8.40 (2021-04-05)
- Mounted: query.indent and panel.indent would not work when they’re inside dynamic panel
- Mounted: Unable to Preview a Matrix Dynamic within a Panel Dynamic
v1.8.39 (2021-03-31)
v1.8.38 (2021-03-30)
v1.8.37 (2021-03-24)
v1.8.36 (2021-03-15)
- Mounted: itemSize property would not work for multipleText query
- Mounted: dimension property in textual content query would not work
v1.8.35 (2021-03-12)
- Enhance responsive matrix rendering
v1.8.34 (2021-03-05)
- Mounted: Easy customized part would not work in matrixdynamic
v1.8.33 (2021-03-02)
- Mounted: displayValue property would not work appropriately for parts (single and composite)
- Mounted: visibleIf would not work in composite part on calling showPreview()/cancelPreview()
2021-02-24
- v1.8.32 Mounted: visibleIf would not work in composite part when rendering in present preview mannequin
2021-02-16
2021-02-11
- v1.8.30: Carry ahead would not work correctly with the predefined survey.knowledge
2021-02-03
2021-01-29
- v1.8.28: Permits to enter empty worth into required query when survey.checkErrorsMode equals ‘onValueChanging’
2021-01-28
- v1.8.27: Permits to enter empty worth into required query when survey.checkErrorsMode equals ‘onValueChanging’
2021-01-20
- v1.8.26: Mounted query defaultValueExpression would not help async capabilities
2021-01-15
2021-01-13
2020-12-29
2020-12-23
2020-12-15
2020-12-09
2020-12-08
2020-12-01
- v1.8.18: Add parentQuestion for query
2020-11-26
2020-11-25
2020-11-19
2020-11-09
2020-10-28
2020-10-23
2020-10-21
2020-10-14
- v1.8.9: Mounted: Locale of progressbar doesn’t change
2020-10-09
- v1.8.8: Added lacking translations
2020-10-06
- v1.8.7: Add survey.runTriggers() operate
2020-09-29
2020-09-29
2020-09-22
2020-09-16
2020-09-11
- v1.8.2: Bug Fixes: Urgent markdown hyperlink focuses the reply enter
2020-09-09
2020-09-03
2020-08-25
- v1.7.27: Mounted: Questions would not render appropriately if there’s a locale key ultimately of JSON
2020-08-19
- v1.7.27: Mounted: Incorrect detection of the requiredInAllRowsError in matrix query
2020-08-12
2020-08-05
2020-07-28
- v1.7.24: survey.onGetQuestionTitle occasion has incorrect choices.query parameter
2020-07-22
2020-07-15
- v1.7.20: Mounted header attribute worth in matrixdynamic cells
2020-07-10
- v1.7.19: Mounted Error field would not disappear when different worth is entered
2020-07-05
- v1.7.18: Add isCompleteOnTrigger choice into onCompleting and onCompleted occasions
2020-07-01
2020-07-01
2020-06-25
2020-06-24
2020-06-16
- v1.7.12: Mounted serialization for the attachOriginalItems property
2020-06-11
- v1.7.11: Rollback the repair: SelectBase has fallacious ItemValue situations in markup after query transformed to different sort
2020-06-03
- v1.7.10: Don’t present an error in a number of rows for matrixdropdown (showInMultipleColumns + columnLayout: ‘vertical’)
2020-05-28
- v1.7.9: Render TextArea in show as div
2020-05-26
- v1.7.8: Mounted goNextPageAutomatic not triggering validation errors
2020-05-20
- v1.7.7: Updating Navigation button textual content is not going to name ‘onModified’ and ‘saveSurveyFunc’
2020-05-13
- v1.7.6: Mounted Checkbox query would not hold it is remark worth on altering survey.isSinglePage
2020-05-07
- v1.7.5: Most name stack dimension exceeded – matrix dropdown with totals and boolean column
2020-04-30
- v1.7.4: Particular fixes for vue
2020-04-22
- v1.7.3: Use calc operate for ingredient.renderedWidth if there’s pre-setup width on the identical line
2020-04-17
2020-04-15
2020-04-08
- v1.5.19: Mounted [Modern Theme] Dropdown selections painted in pink on error
2020-03-31
- v1.5.18: Mounted query.addConditionObjectsByContext operate would not use valueName
2020-03-25
2020-03-19
2020-03-12
2020-03-12
- v1.5.14: Eliminated unused rule
2020-03-05
2020-02-29
2020-02-28
2020-02-19
2020-02-15
- v1.5.9: Add public operator property into BinaryOperand
2020-02-13
- v1.5.8: Mounted onValueChanging bug.
2020-02-12
- v1.5.7: Added CSS class title for remark within the file query sort
2020-02-07
2020-02-04
2020-02-01
2020-01-31
- v1.5.3: Repair the bug: clear information for QuestionFile on eradicating panel in paneldynamic
2020-01-30
2020-01-10
2019-12-11
- v1.1.24: Lower margin-right for inline imagepicker merchandise
2019-12-03
- v1.1.23: Lower margin-right for inline imagepicker merchandise
2019-11-27
- v1.1.22: Lower margin-right for inline imagepicker merchandise
2019-11-19
- v1.1.21: Lower margin-right for inline imagepicker merchandise
2019-11-14
- v1.1.20: Add currencySymbol to cultureInfo
2019-11-07
2019-10-30
2019-10-23
2019-10-17
2019-10-09
- v1.1.15: Repair react margin collapsing
2019-10-02
This superior jQuery plugin is developed by surveyjs. For extra Superior Usages, please test the demo web page or go to the official web site.