Saisir une date avec polyfill
Bonsoir,
je souhaite permettre la saisie d'une date (2 dates pour être précis). Je suis d'abord passé sur Datepicker, puis cette discussion m'a conduit vers https://www.developpez.net/forums/d1...ge-date-input/. A partir de ça, j'ai fait le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<script src="polyfill.js"></script>
</head>
<body>
<form>
<input type="date"></input>
</form>
</body>
</html> |
polyfill.js :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| if(!("valueAsDate" in HTMLInputElement.prototype)){
Object.defineProperty(HTMLInputElement.prototype, "valueAsDate", {
get: function(){
var d = this.value.split(/\D/);
return new Date(d[0], --d[1], d[2]);
},
set: function(d){
var day = ("0" + d.getDate()).slice(-2),
month = ("0" + (d.getMonth() + 1)).slice(-2),
datestr = d.getFullYear()+"-"+month+"-"+day;
this.value = datestr;
}
});
}
var input = document.querySelector("input");
input.valueAsDate = new Date();
var p = document.createElement("p");
document.body.appendChild(p);
setInterval(function(){
p.textContent = input.valueAsDate.toLocaleDateString();
}, 100); |
Ce n'est pas correct vu qu'aucune aide ne s'affiche quand on clique sur le champ de saisie. Que faut-il faire pour que ça marche ?