document.ready called again when loading template using underscore.js

I just tried to use underscore.js for loading the template, but when i click on login button and fire a request to server then after retrieval of response when i try to remove one template and show other, after that document.ready() is called again resulting in re-rendering of login page.

I am confused what is causing this to happen, any help is appreciated.

Here is javscript code:

$(document).ready(function(){
    /* Login-Workflow-start*/
        var loginTemplate = _.template($("#login-template").html());
        $("#main-content").html(loginTemplate);

        $("#btn_login").on('click', function(){
          // when login is clicked.
          var formData = $("#form_login").serialize()
          console.log(formData);
          var req= $.ajax({
              type: "POST",
              url: "http://localhost:3002/login",
              data: {
                "username": $('[name="username"]').val(),
                "password": $('[name="password"]').val()
              },
              success: function(responseData,textStatus,jqXhr){
                console.log("Response: " + responseData);
                // show welcome page now
                var welcomeTemplate = _.template($("#welcome-template").html());
                $("#main-content").html(welcomeTemplate);   
              },
              error: function(){
                console.log("Error!!!");
              }
            });
        });
    /* Login-Workflow-end*/
});

update:

welcome-template looks like following:

<script type="text/template" id="welcome-template">
  <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
      <div class="container-fluid">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="#">Project name</a>
        </div>
        <div class="navbar-collapse collapse">
          <ul class="nav navbar-nav navbar-right">
            <li><a href="#">Dashboard</a></li>
            <li><a href="#">Settings</a></li>
            <li><a href="#">Profile</a></li>
            <li><a href="#">Help</a></li>
          </ul>
          <form class="navbar-form navbar-right">
            <input type="text" class="form-control" placeholder="Search...">
          </form>
        </div>
      </div>
    </div>
    <div class="container-fluid">
      <div class="row">
        <div class="col-sm-3 col-md-2 sidebar">
          <ul class="nav nav-sidebar">
            <li class="active"><a href="#">Overview</a></li>
            <li><a href="#">Reports</a></li>
            <li><a href="#">Analytics</a></li>
            <li><a href="#">Export</a></li>
          </ul>
          <ul class="nav nav-sidebar">
            <li><a href="">Nav item</a></li>
            <li><a href="">Nav item again</a></li>
            <li><a href="">One more nav</a></li>
            <li><a href="">Another nav item</a></li>
            <li><a href="">More navigation</a></li>
          </ul>
          <ul class="nav nav-sidebar">
            <li><a href="">Nav item again</a></li>
            <li><a href="">One more nav</a></li>
            <li><a href="">Another nav item</a></li>
          </ul>
        </div>
        <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
          <h1 class="page-header">Dashboard</h1>      
        </div>
      </div>
    </div>
  </script>

Login template looks like following:

<script type="text/template" id="login-template">
        <ul class="nav nav-tabs" role="tablist">
          <li class="active"><a href="#login" role="tab" data-toggle="tab">Login</a></li>
          <li><a href="#register" role="tab" data-toggle="tab">Register</a></li>
          <li><a href="#reset-password" role="tab" data-toggle="tab">Reset Password</a></li>
        </ul>

        <!-- Tab panes -->
        <div class="tab-content">
          <div class="tab-pane active" id="login">
              <form role="form" id="form_login">
                <div class="form-group">
                  <div class="input-group">
                    <span class="input-group-addon">Username</span>
                    <input type="text" class="form-control" name="username" placeholder="Enter Username here" />
                  </div>
                </div>
                <div class="form-group">
                  <div class="input-group">
                    <span class="input-group-addon">Password</span>
                    <input type="text" class="form-control" name="password" placeholder="Enter Password here" />
                  </div>
                </div>
                <button class="btn btn-wide btn-primary mrm" id="btn_login">Login</button>
              </form>
          </div>
          <div class="tab-pane" id="register"> Register page loading..</div>
          <div class="tab-pane" id="reset-password">Reset Password page Loading</div>
        </div>
    </div>
</script>

UPDATE2 In case some one want to see the entire/part(s) code for analysis then please visit at this repo on bitbucket

Got the solution,

Culprit was form tag, upon clicking the submit button, form tag was firing a request too of its own, this was leading to document.ready getting re-called.

Solution: convert form tag to div, since we are handling the request creation by ourselves.