SurveyJS is a JavaScript Survey and Form Library.
SurveyJS is a modern way to add surveys and forms to your website. It has versions for angular2+, jQuery, knockout, react and vue.
Documentation
SurveyJS Library Documentation
Live Examples
SurveyJS Library Live Examples
Visual Survey / Form Builder
Visual Editor sources are here
More info about SurveyJS
SurveyJS is the most feature-rich Survey / Form Library available at the current moment. It can be easily customized and extended to suit your needs.
Main Features
A lot of question types with a lot of built-in functionalities.
- Text Question
- Radigroup Question
- Dropdown Question
- Checkboxes Question
- Boolean Question
- Matrix Question
- Matrix Rubric Question
- Matrix Dropdown Question
- Matrix Dynamic Question
- Multiple Text Question
- Rating Question
- Comment Question
- Html Question
- Files uploading Question
- Panel Container
- Panel Dynamic Question
- Expression Question
- Image Picker Question
- Support for third-party popular UI widgets. The custom widgets GitHub repo
Multiple Pages Support
You may create a very complex forms with a lot of pages, like this one.
Dynamically change survey logic and questions content
- Change questions visibility using logical expressions
- Create custom functions to use it in expression
- Filter choices in checkbox, radiogroup and dropdown questions
- Filter rows and columns in matrix question
- Disabled/enabled questions based on logical expressions
- Questions value validation
Localization and Multiple language support
Appearance and custom Rendering
- Seven built-in Themes
- Bootstrap support
- CSS styles customization
- API for adding new or changing existing HTML elements
- Render Questions in one line
- Markdown support
Frequently used functionalities
- Quiz creating
- Show survey or form in the popup window
- Display mode
- Custom navigation
- Sharing same data between questions
To find out more about the library go
- to the SurveyJS Library Site
- explore the live Examples
- and build a survey or form using Visual Form Builder
You can use our quickstart repos:
Getting started
Install the library using npm.
Angular2 version:
npm install survey-angular
jQuery version:
npm install survey-jquery
Knockout version:
npm install survey-knockout
React version:
npm install survey-react
Vue version:
npm install survey-vue
Or use Azure CDN:
- https://surveyjs.azureedge.net/{version-number}/survey.angular.min.js
- https://surveyjs.azureedge.net/{version-number}/survey.ko.min.js
- https://surveyjs.azureedge.net/{version-number}/survey.react.min.js
- https://surveyjs.azureedge.net/{version-number}/survey.jquery.min.js
- https://surveyjs.azureedge.net/{version-number}/survey.vue.min.js
You find all versions/builds in the surveyjs/build repo.
Or dowload a version as zip file from Releases
If you want to import it in another script:
import * as Survey from "survey-jquery";
Building survey.js from sources
To build library yourself:
-
Clone the repo from GitHub
git clone https://github.com/surveyjs/surveyjs.git cd surveyjs
-
Acquire build dependencies. Make sure you have Node.js installed on your workstation. You need a version of Node.js greater than 6.0.0 and npm greater than 2.7.0. This is only needed to build surveyjs from sources.
npm install -g karma-cli npm install
-
Build the library
npm run build_prod
After that you should have the libraries (angular, jquery, knockout, react and vue) at 'packages' directory.
-
Run samples
npm start
This command will run local http server at the http://localhost:7777 You can open http://localhost:7777/examples/knockout to view KnockoutJS samples, http://localhost:7777/examples/react to view ReactJS samples and so on
-
Run unit tests
karma start
This command will run unit tests using Karma