Я делаю весеннее загрузочное приложение и работаю с HTML, чтобы обновить свое представление.Здесь я пытаюсь реализовать собственный DatePicker, используя input type date
в HTML-форме, где пользователь выберет дату, а затем страница обновится и отправит форму с выбранной датой в качестве параметра URL.
В текстовом поле формы также будет отображаться значение, выбранное в DatePicker, в формате, который мне нужен после обновления страницы.
Сделано таким образом, что не должно быть кнопки отправки для отправки формы, и как только пользователь выбирает дату из поля input
, страница должна автоматически обновиться и сохранить значение в URLпараметр, а также в текстовом поле в форме.
ниже мой код:
HTML:
<form action="#" id="myForm" method="get">
<input type="text" id="save-date" name="show_date" class="form-control">
<input type="date" onchange="changeDateFormat()" name="date" class="form-control"></input>
</form>
Javascript:
<script type="text/javascript">
function changeDateFormat(){
var received_date = document.getElementById("date-input").value;
var split_dashes = received_date.split('-');
var final_date = split_dashes[2]+'.'+split_dashes[1]+'.'+split_dashes[0]
document.getElementById("show_date").value = final_date;
document.getElementById("myForm").submit();
}
</script>
Моя проблема
Это прекрасно работает на всех платформах, кроме ios / iphone 8. На ios / iphone 8, как только я щелкаю поле ввода типа даты, DatePicker немедленно открывается и быстро обновляет страницу.Я ожидаю, что он будет ждать моего ввода, но это не позволяет мне.вместо этого он быстро вызывает функцию js и обновляет страницу.
Я не сталкиваюсь с этим в Chrome или любом другом браузере.В Chrome DatePicker откроется как календарь, и он будет ждать, пока я выберу дату.
То, что я пытался
Я пробовал всю ночь и половину своего сегодняшнего дня, чтобы понять, почему это происходит.Кажется, в ios datepicker он быстро выбирает дату, как только я нажимаю, чтобы открыть выпадающее меню.Помимо этого я попытался реализовать функцию JQuery, но она работает так же.Я также попробовал onselect
, oninput
, но ничего не работает.
Я новичок в JavaScript, и это сводит меня с ума с прошлой ночи.Я очень близок к тому, чтобы заставить его работать, но чувствую себя так далеко.
Мой подход Один из подходов к решению этой проблемы - тщательное наблюдение за средством выбора даты в iphone. Я обнаружил, что он сразу же выбирает дату, как только я открываю средство выбора даты в телефоне, и, возможно, именно поэтомувызывает функцию JavaScript.
Однако, если он может подождать, пока я не выберу дату, пока я не нажму "Готово" (она есть в iphones) в DatePicker, эта проблема может быть устранена
Пожалуйста, сообщите мне, как я могурешить это