У меня есть реализация плагина amsuls pickadate. Я создал следующую форму, включающую всплывающее окно выбора даты:
Когда я выбираю значение для обоих pickdates, я хочу, чтобы иметь возможность отправить форму, но использовать значения $_REQUEST['input_value_from']
и $_REQUEST['input_value_to']
чтобы загрузить даты в форму. Если пользователь, например, забывает заполнить другую часть формы.
Я посмотрел на метод набора, который указан здесь
Мой текущий html:
<div class="section__block section__block--scoped">
From:
<fieldset>
<input type="text" name="x_date_from" id="input_from" data-value="<?=$_REQUEST['x_date_from'];?>">
</fieldset>
To:
<fieldset>
<input type="text" name="x_date_to" id="input_to" data-value="<?=$_REQUEST['x_date_to'];?>">
</fieldset>
</div>
Мой текущий js:
var $input_from = $('#input_from').pickadate();
var picker_from = $input_from.pickadate('picker');
picker_from.set('select', $('#input_from').attr("data-value"));
var $input_to = $('#input_to').pickadate();
var picker_to = $input_to.pickadate('picker');
picker_to.set('select', $('#input_to').attr("data-value"));
с соответствующими скриптами pickadate
<script src="/x/js/calendar/pickadate.js-3.4.0/lib/picker.js"></script>
<script src="/x/js/calendar/pickadate.js-3.4.0/lib/picker.date.js"></script>
<script src="/x/js/calendar/pickadate.js-3.4.0/lib/picker.time.js"></script>
<script src="/x/js/calendar/pickadate.js-3.4.0/lib/legacy.js"></script>
<script src="/x/js/calendar/pickadate.js-3.4.0/demo/scripts/main.js"></script>
При загрузке страницы вы можете передать переменную PHP в метод инициализации функции pickadate().
$('#input_from').pickadate({
<?php echo "select: [" . $_REQUEST['input_value_from'] . "]";?> //Format[yyyy,m,d]
})
Формат $ _REQUEST ['input_value_from'] в виде yyyy, m, d.
Используемый конечный код:
функция:
$from_split = getYearMonthDayFromDate($_REQUEST['x_date_from']);
затем скорректируйте js, чтобы выглядеть так:
var $input_from = $('#input_from').pickadate();
var picker_from = $input_from.pickadate('picker');
picker_from.set('select', [<?php echo $from_split['year'].','.$from_split['month'].','.$from_split['day']; ?>]);