HelpBot Assistant

How can I help you?

Getting started in EJ2 JavaScript OTP Input control

10 Feb 20269 minutes to read

This section explains the steps required to create a simple Essential® JS 2 OTP input and demonstrate the basic usage of the OTP input control in a JavaScript application.

Dependencies

The list of dependencies required to use the OTP input component in your application is given below:

|-- @syncfusion/ej2-inputs
    |-- @syncfusion/ej2-base

Setup for local environment

Refer to the following steps to set up your local environment.

Step 1: Create a root folder named my-app for your application.

Step 2: Create a my-app/resources folder to store local scripts and styles files.

Step 3: Open Visual Studio Code and create my-app/index.js and my-app/index.html files to initialize the Essential® JS 2 OTP input control.

Adding Syncfusion® resources

The Essential® JS 2 OTP input control can be initialized by using either of the following ways.

  • Using local script and style.
  • Using CDN link for script and style.

Using local script and style references in a HTML page

Step 1: Create an app folder quickstart for getting started.

Step 2: You can get the global scripts and styles from the Essential Studio® JavaScript (Essential® JS 2) build installed location.

Syntax:

Dependency Script: **(installed location)**\Syncfusion\Essential Studio\JavaScript - EJ2\{RELEASE_VERSION}\Web (Essential JS 2)\JavaScript\{DEPENDENCY_PACKAGE_NAME}\dist\global\{DEPENDENCY_PACKAGE_NAME}.min.js

Control Script: **(installed location)**\Syncfusion\Essential Studio\JavaScript - EJ2\{RELEASE_VERSION}\Web (Essential JS 2)\JavaScript\{PACKAGE_NAME}\dist\global\{PACKAGE_NAME}.min.js

Dependency Styles: **(installed location)**\Syncfusion\Essential Studio\JavaScript - EJ2\{RELEASE_VERSION}\Web (Essential JS 2)\JavaScript\{DEPENDENCY_PACKAGE_NAME}\styles\material.css

Control Styles: **(installed location)**\Syncfusion\Essential Studio\JavaScript - EJ2\{RELEASE_VERSION}\Web (Essential JS 2)\JavaScript\{PACKAGE_NAME}\styles\material.css

Example:

Dependency Script: C:\Program Files (x86)\Syncfusion\Essential Studio\JavaScript - EJ2\16.3.0.17\Web (Essential JS 2)\JavaScript\ej2-base\dist\global\ej2-base.min.js

Control Script: C:\Program Files (x86)\Syncfusion\Essential Studio\JavaScript - EJ2\16.3.0.17\Web (Essential JS 2)\JavaScript\ej2-inputs\dist\global\ej2-inputs.min.js

Dependency Styles: C:\Program Files (x86)\Syncfusion\Essential Studio\JavaScript - EJ2\16.3.0.17\Web (Essential JS 2)\JavaScript\ej2-base\styles\material.css

Control Styles: C:\Program Files (x86)\Syncfusion\Essential Studio\JavaScript - EJ2\16.3.0.17\Web (Essential JS 2)\JavaScript\ej2-inputs\styles\material.css

The below located script and style file contains all Syncfusion® JavaScript (ES5) UI control resources in a single file.

Scripts: **(installed location)**\Syncfusion\Essential Studio\JavaScript - EJ2\{RELEASE_VERSION}\Web (Essential JS 2)\JavaScript\ej2\dist\ej2.min.js

Styles: **(installed location)**\Syncfusion\Essential Studio\JavaScript - EJ2\{RELEASE_VERSION}\Web (Essential JS 2)\JavaScript\ej2\material.css

The Custom Resource Generator (CRG) is an online web tool, which can be used to generate the custom script and styles for a set of specific controls. This web tool is useful to combine the required control scripts and styles in a single file.

Step 3: Create a folder ~/quickstart/resources and copy/paste the global scripts and styles from the above installed location to ~/quickstart/resources/package corresponding package location.

Step 4: Create a HTML page (index.html) in ~/quickstart/index.html location and add the Essential® JS 2 script and style references.

<!DOCTYPE html>
  <html xmlns="http://www.w3.org/1999/xhtml">
       <head>
            <title>JavaScript (ES5)</title>
            <!-- JavaScript (ES5) OTP Input's dependency style -->
            <link href="resources/base/material.css" rel="stylesheet" type="text/css"/>

            <!-- JavaScript (ES5) OTP Input's control style -->
            <link href="resources/inputs/material.css" rel="stylesheet" type="text/css"/>

            <!-- JavaScript (ES5) OTP Input's dependency global script -->
            <script src="resources/base/ej2-base.min.js" type="text/javascript"></script>

            <!-- JavaScript (ES5) OTP Input's control global script -->
            <script src="resources/inputs/ej2-inputs.min.js" type="text/javascript"></script>
       </head>
       <body>
       </body>
  </html>

Step 5: Now, add the OTP Input element and initialize the JavaScript (ES5) OTP Input control in the index.html file by using the following code

[src/index.html]

<!DOCTYPE html>
  <html xmlns="http://www.w3.org/1999/xhtml">
       <head>
          <title>JavaScript (ES5)</title>
          <!-- JavaScript (ES5) OTP Input's dependency style -->
          <link href="resources/base/material.css" rel="stylesheet" type="text/css"/>

          <!-- JavaScript (ES5) OTP Input's control style -->
          <link href="resources/inputs/material.css" rel="stylesheet" type="text/css"/>

          <!-- JavaScript (ES5) OTP Input's dependency global script -->
          <script src="resources/base/ej2-base.min.js" type="text/javascript"></script>

          <!-- JavaScript (ES5) OTP Input's control global script -->
          <script src="resources/inputs/ej2-inputs.min.js" type="text/javascript"></script>
       </head>
       <body>
            <!-- Add the HTML <div> element  -->
          <div class="otp-container" style="width: 350px;">
               <div id="otp_default"></div>
          </div>
          <script>
               // Initializes the OTP Input control
               var otpInput = new ej.inputs.OtpInput({});

               // Render initialized OTP Input.
               otpInput.appendTo('#otp_default');
          </script>
       </body>
  </html>

Step 6: Now, run the index.html in a web browser. It will render the Syncfusion® JavaScript (ES5) OTP Input control.

Step 1: Create an app folder quickstart for getting started.

Step 2: The JavaScript (ES5) control’s global scripts and styles are already hosted in the below CDN link formats.

Syntax:

Dependency Script: https://cdn.syncfusion.com/ej2/{DEPENDENCY_PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js

Control Script: https://cdn.syncfusion.com/ej2/{PACKAGE_NAME}/dist/global/{PACKAGE_NAME}.min.js

Dependency Styles: https://cdn.syncfusion.com/ej2/{DEPENDENCY_PACKAGE_NAME}/styles/material.css

Control Styles: https://cdn.syncfusion.com/ej2/{PACKAGE_NAME}/styles/material.css

Example:

Script: https://cdn.syncfusion.com/ej2/ej2-inputs/dist/global/ej2-inputs.min.js

Styles: https://cdn.syncfusion.com/ej2/ej2-inputs/styles/material.css

Step 3: Create a HTML page (index.html) in ~/quickstart/index.html location and add the CDN link references. Now, add the OTP Input element and initiate the JavaScript (ES5) OTP Input control in the index.html by using following code.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <script src="https://cdn.syncfusion.com/ej2/syncfusion-helper.js"></script>
  <title>JavaScript (ES5)</title>
  <!-- JavaScript (ES5) OTP Input's dependency style -->
  <link href="https://cdn.syncfusion.com/ej2/32.2.3/ej2-base/styles/material.css" rel="stylesheet" type="text/css" />

  <!-- JavaScript (ES5) OTP Input's control style -->
  <link href="https://cdn.syncfusion.com/ej2/32.2.3/ej2-inputs/styles/material.css" rel="stylesheet" type="text/css" />

  <!-- JavaScript (ES5) OTP Input's dependency global script -->
  <script src="https://cdn.syncfusion.com/ej2/32.2.3/ej2-base/dist/global/ej2-base.min.js" type="text/javascript"></script>

  <!-- JavaScript (ES5) OTP Input's control global script -->
  <script src="https://cdn.syncfusion.com/ej2/32.2.3/ej2-inputs/dist/global/ej2-inputs.min.js" type="text/javascript"></script>

  <!--style reference from app-->
  <link href="index.css" rel="stylesheet" />
<script src="https://cdn.syncfusion.com/ej2/syncfusion-helper.js" type ="text/javascript"></script>
</head>

<body>
  <!--Element to render the OTP Input control-->
  <div id='container' style="width: 350px;">
    <div id="otp_default"></div>
  </div>
  <script>
    // Initializes the OTP Input control
    var otpInput = new ej.inputs.OtpInput({});

    // Render initialized OTP Input.
    otpInput.appendTo('#otp_default');
  </script>
  <script>
    var ele = document.getElementById('container');
    if (ele) {
      ele.style.visibility = "visible";
    }   
  </script>
</body>

</html>
#container {
  visibility: hidden;
  margin: 50px auto;
  width: 350px;
}

#loader {
  color: #008cff;
  height: 40px;
  left: 45%;
  position: absolute;
  top: 45%;
  width: 30%;
}

Step 4: Now, run the index.html in web browser, it will render the Syncfusion® JavaScript OTP Input control.