Я придумал метод использования текстового поля для имитации ввода даты и создания любого формата, который вы хотите, вот код
<html>
<body>
date :
<span style="position: relative;display: inline-block;border: 1px solid #a9a9a9;height: 24px;width: 500px">
<input type="date" class="xDateContainer" onchange="setCorrect(this,'xTime');" style="position: absolute; opacity: 0.0;height: 100%;width: 100%;"><input type="text" id="xTime" name="xTime" value="dd / mm / yyyy" style="border: none;height: 90%;" tabindex="-1"><span style="display: inline-block;width: 20px;z-index: 2;float: right;padding-top: 3px;" tabindex="-1">▼</span>
</span>
<script language="javascript">
var matchEnterdDate=0;
//function to set back date opacity for non supported browsers
window.onload =function(){
var input = document.createElement('input');
input.setAttribute('type','date');
input.setAttribute('value', 'some text');
if(input.value === "some text"){
allDates = document.getElementsByClassName("xDateContainer");
matchEnterdDate=1;
for (var i = 0; i < allDates.length; i++) {
allDates[i].style.opacity = "1";
}
}
}
//function to convert enterd date to any format
function setCorrect(xObj,xTraget){
var date = new Date(xObj.value);
var month = date.getMonth();
var day = date.getDate();
var year = date.getFullYear();
if(month!='NaN'){
document.getElementById(xTraget).value=day+" / "+month+" / "+year;
}else{
if(matchEnterdDate==1){document.getElementById(xTraget).value=xObj.value;}
}
}
</script>
</body>
</html>
1 - обратите внимание, что этот метод работает только длябраузер, поддерживающий тип даты.
2 - первая функция в коде JS предназначена для браузера, который не поддерживает тип даты и устанавливает вид обычного ввода текста.
3 - если выбудет использовать этот код для нескольких вводов даты на вашей странице. Пожалуйста, измените идентификатор "xTime" для ввода текста как в вызове функции, так и в самом вводе на что-то другое, и, конечно, используйте имя ввода, которое вы хотите для отправки формы.
4-во-вторых функция вы можете использовать любой формат, который вы хотите вместо день + "/" + месяц + "/" + год, например, год + "/" + месяц + "/" + день и в использовании ввода текстазаполнитель или значение в виде гггг / мм / дд для пользователя при загрузке страницы.