George
George

Reputation: 73

Boostrap Datepicker doesn't show/

I'm trying to get a Bootstrap Datepicker in my form. Without form, I managed to get one. But copy + past this code into my form isn't working. All files are there and needed code is the same.

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>AR_welcome</title>
  <!-- Bootstrap -->
  <link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css">
  <script src="/assets/bootstrap/js/bootstrap.min.js">
  </script>
  <link rel="stylesheet" href="/assets/bootstrap/css/bootstrap.min.css" />
  <!-- Font + Style + Icons-->
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro">
  <link rel="stylesheet" href="/assets/css/styles.css">
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
  <!-- jQuery -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <!-- Datepicker -->
  <script src="/assets/bootstrap-datepicker/js/bootstrap-datepicker.min.js">
  </script>
  <script src="/assets/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js">
  </script>
  <link rel="stylesheet" href="/assets/bootstrap-datepicker/css/bootstrap-datepicker.css">
</head>

<body>
  <script>
    $(document).ready(function() {
      $('.datepicker').datepicker({
        format: "dd-mm-yyyy",
        todayHighlight: true,
        autoclose: true,
        language: 'nl',
        weekStart: '1',
      });
    });
  </script>
  <main>
    <div class="content">
      <form>
        <div class="form-row" style="margin-top:10px;">
          <div class="col">
            <div class="form-group"><label><strong>Pickup date:</strong></label>
              <div id="datepicker-group" class="input-group date"><input class="form-control" name="data" type="text" placeholder="Pickup" /><span class="input-group-addon"><i class="fas fa-calendar-alt"></i></span></div>
            </div>
          </div>
          <div class="col">
            <div class="form-group"><label><strong>Deliver date:</strong></label>
              <div id="datepicker-group" style="display:inline" class="input-group date"><input class="form-control-datepicker" name="data" type="text" placeholder="Deliver" /><span class="input-group-addon"><i class="fas fa-calendar-alt"></i></span>
              </div>
            </div>
          </div>
        </div>
      </form>
    </div>
  </main>
</body>

</html>

Isn't it possible to use this datepicker in a form? Or is there something else wrong in this code?

Upvotes: 0

Views: 169

Answers (1)

David Liang
David Liang

Reputation: 21526

Something wrong in your HTML:

  1. More than 1 element has same identifier id="datepicker-group". Change it to class.

    <div class="col">
        <div class="form-group">
            <div class="datepicker-group input-group date">
    
            </div>
        </div>
    </div>
    <div class="col">
        <div class="form-group">
            <div class="datepicker-group input-group date">
    
            </div>
        </div>
    </div>
    
  2. In your JavaScript code, you initialize datepicker with class .datepicker but there is no element with such class in your HTML.

    <input class="datepicker" name="data" type="text" placeholder="Deliver" />
    
  3. From @louys' comment, some of your libraries are not loaded in the right order. jQuery needs to be loaded first.

fiddle: http://jsfiddle.net/aq9Laaew/171701/

Upvotes: 1

Related Questions