I try to use OnChange to send the selected date to my form in order to reload my page with the selected date in URL parameter but I don't find how to do this.
Previously I used jQuery datepicker and it was pretty simple.
<form id="form" method="GET">
<input type="text" id="basicDate" placeholder="Please select Date Time" data-input>
</form>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/flatpickr/4.2.3/flatpickr.js"></script>
<script>
$("#basicDate").flatpickr({
enableTime: false,
dateFormat: "Y-m-d",
});
</script>
previously, using jQuery date picker:
<form method='POST' enctype='multipart/form-data' id='formId'>
<input type="text" id="datepicker"/>
</form>
$(document).ready(function() {
$('#datepicker').datepicker({
onSelect : function (dateText, inst) {
$('#formId').submit(); // <-- SUBMIT
}});
});
You can submit form when input has been changed and also check input is not blank. Here is code for that :
<form id="form" method="GET">
<input type="text" id="basicDate" placeholder="Please select Date Time" data-input>
</form>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flatpickr/4.5.1/flatpickr.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/flatpickr/4.2.3/flatpickr.js"></script>
<script>
$(document).ready(function(){
$("#basicDate").flatpickr({
enableTime: false,
dateFormat: "Y-m-d",
});
});
$(document).on('change','#basicDate',function(){
if($('#basicDate').val() != ''){
$('#form').submit();
}
});