Je travaille avec des attributs de saisie d'éléments HTML5 et seul Google Chrome supporte les attributs de date et d'heure. J'ai essayé Modernizr mais je n'arrive pas à comprendre comment l'intégrer sur mon site (comment le coder/quelle est la syntaxe/includes). Je ne sais pas s'il y a un extrait de code sur la façon de travailler avec les attributs de la date et de l'heure pour tous les navigateurs.
Réponse
Trop de publicités?
nat
Points
797
J'ai eu des problèmes avec cela, en conservant le format UK dd/mm/yyyy, j'ai d'abord utilisé la réponse d'adeneo https://stackoverflow.com/a/18021130/243905 mais cela ne fonctionnait pas dans safari pour moi, alors j'ai changé pour ceci, qui pour autant que je sache fonctionne partout - en utilisant le datepicker jquery-ui, la validation jquery.
if ($('[type="date"]').prop('type') !== 'date') {
//for reloading/displaying the ISO format back into input again
var val = $('[type="date"]').each(function () {
var val = $(this).val();
if (val !== undefined && val.indexOf('-') > 0) {
var arr = val.split('-');
$(this).val(arr[2] + '/' + arr[1] + '/' + arr[0]);
}
});
//add in the datepicker
$('[type="date"]').datepicker(datapickeroptions);
//stops the invalid date when validated in safari
jQuery.validator.methods["date"] = function (value, element) {
var shortDateFormat = "dd/mm/yy";
var res = true;
try {
$.datepicker.parseDate(shortDateFormat, value);
} catch (error) {
res = false;
}
return res;
}
}
- Réponses précédentes
- Plus de réponses