JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.6.0/underscore-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js"></script>
<div class="login-block">
  <script type="text/template" id="start">
    <form id="login">
      <div class="input-wrapper"><input type="text" placeholder="Username" id="username" required></div>
      <div class="input-wrapper"><input type="password" placeholder="Password" id="password" required></div>
      <div class="input-wrapper"><button type="button" class="btn">Sign in!</button></div>
    </form>
  </script>

  <div class="error" class="block">
       Error
  </div>

  <div class="success">
      Success
  </div>
</div>

JavaScript

$(function(){
    
    var User = Backbone.Model.extend({
        defaults: {
          login: 'root',
          mail: '[email protected]',
          password: ''
        }
    });
    
    var user = new User();
    
    //variable to store username
    
    var loginData = {
        username: "",
        password: ""
    }
    
    // userbase
    var UserCollection = Backbone.Collection.extend({
        model: User
    });
    
    
    
    var userCollection = new UserCollection([
      {
       username: 'Ivan',
       mail: '[email protected]',
       password: '1234'
      },
      {
       username: 'test',
       mail: '[email protected]',
       password: 'test'
      }
     ]);
    
    // login page
    
    var LoginView = Backbone.View.extend({
        el: $(".login-block"),
    
        events: {
          "click .btn": "check"
        },
    
        check: function(){
            loginData.username = this.$el.find("#username").val(); // store username
            loginData.password = this.$el.find("#password").val();// store password

            if(userCollection.findWhere({username: loginData.username, password: loginData.password})){
                console.log("success");
                appRouter.navigate("success", {trigger: true});
            }else{
                console.log("error");
                appRouter.navigate("error", {trigger: true});
            } 
          },
    
          render: function () {
            //$(this.el).html(this.template());
              var template = _.template($('#start').html())
              $(this.el).html(template());
              //template: template('start');
              return this;
          }
    }); 
    
    var loginView = new LoginView({collection: userCollection});
    
    var AppRouter = Backbone.Router.extend({
        routes: {
           '': 'index', // start page
           '/error': 'error',
           '/success': 'success'
        },
    
        index: function() {
            ...