0

I am currently using bootstrap datepicker and I have a problem. I want to read the value from the datepicker in the format (dd/mm/yyyy). However, I keep receiving an empty string even though the user selected a date value. Here are my codes

$('#startDateInput').datepicker({
        format: 'dd/mm/yyyy',
    });

    $('#saveButton').on('click', function () {
        var collectedStartDate = $('#startDateInput').datepicker().val();
        alert(collectedStartDate);
    });
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/css/bootstrap-datepicker.css" rel="stylesheet"/>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/js/bootstrap-datepicker.js"></script>
<div class="form-group col-md-12">
    <label class="control-label col-md-4" for="startDateInput">Start date</label>
    <div class="input-group date" id="startDateInput" style="max-width: 280px" data-provide="datepicker">
        <input type="text" class="form-control">
        <div class="input-group-addon">
            <span class="glyphicon glyphicon-calendar"></span>
        </div>
    </div>
</div>

<div class="form-group col-md-12">
    <label class="control-label col-md-1"></label>
    <div class="col-md-10">
        <div class="pull-right">
            <input type="button" class="btn btn-primary" value="Save" id="saveButton" />
        </div>
    </div>
</div>
Issaki
  • 1,012
  • 2
  • 19
  • 35
  • 1
    Have you seen this post: https://stackoverflow.com/questions/16681875/how-to-get-the-selected-date-value-while-using-bootstrap-datepicker – Wamadahama Jun 12 '18 at 13:29
  • 1
    Possible duplicate of [How to get the selected date value while using Bootstrap Datepicker?](https://stackoverflow.com/questions/16681875/how-to-get-the-selected-date-value-while-using-bootstrap-datepicker) – Luis felipe De jesus Munoz Jun 12 '18 at 13:30
  • Possible duplicate of [Getting value from JQUERY datepicker](https://stackoverflow.com/questions/8147108/getting-value-from-jquery-datepicker) – Krzysztof Janiszewski Jun 12 '18 at 13:32

2 Answers2

1

Try

$('#startDateInput').data('datepicker').getFormattedDate('dd/mm/yyyy')

$('#startDateInput').datepicker({
  format: 'dd/mm/yyyy',
});

$('#saveButton').on('click', function() {
  var collectedStartDate = $('#startDateInput').data('datepicker').getFormattedDate('dd/mm/yyyy');
  alert(collectedStartDate);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/css/bootstrap-datepicker.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/js/bootstrap-datepicker.min.js"></script>

<div class="form-group col-md-12">
  <label class="control-label col-md-4" for="startDateInput">Start date</label>
  <div class="input-group date" id="startDateInput" style="max-width: 280px" data-provide="datepicker">
    <input type="text" class="form-control">
    <div class="input-group-addon">
      <span class="glyphicon glyphicon-calendar"></span>
    </div>
  </div>
</div>

<div class="form-group col-md-12">
  <label class="control-label col-md-1"></label>
  <div class="col-md-10">
    <div class="pull-right">
      <input type="button" class="btn btn-primary" value="Save" id="saveButton" />
    </div>
  </div>
</div>
Mamun
  • 66,969
  • 9
  • 47
  • 59
0

EDIT

.datepicker('getDate'); returns JavaScript date object

var dateInput = $('#startDateInput').datepicker({
  format: 'dd/mm/yyyy',
});

$('#saveButton').on('click', function() {
  var collectedStartDate = dateInput.datepicker('getDate');
  alert(collectedStartDate.getDate() + '/' + (collectedStartDate.getMonth() + 1) + '/' +  collectedStartDate.getFullYear());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/css/bootstrap-datepicker.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/js/bootstrap-datepicker.min.js"></script>

<div class="form-group col-md-12">
  <label class="control-label col-md-4" for="startDateInput">Start date</label>
  <div class="input-group date" id="startDateInput" style="max-width: 280px" data-provide="datepicker">
    <input type="text" class="form-control">
    <div class="input-group-addon">
      <span class="glyphicon glyphicon-calendar"></span>
    </div>
  </div>
</div>

<div class="form-group col-md-12">
  <label class="control-label col-md-1"></label>
  <div class="col-md-10">
    <div class="pull-right">
      <input type="button" class="btn btn-primary" value="Save" id="saveButton" />
    </div>
  </div>
</div>
Krzysztof Janiszewski
  • 3,763
  • 3
  • 18
  • 38
  • Hi, how to get the date only in dd/mm/yyyy? Because your solution gave me a more specific date which is not what I am looking for Thu Jun 14 2018 00:00:00 GMT+0800 (Singapore Standard Time) – Issaki Jun 12 '18 at 13:38