Управление DOM с помощью JavaScript в современных браузерах и IE 11+
Следующая функция возвращает, true
если текущий браузер поддерживает собственный ввод даты <input type="date" />
:
const isDateInputSupported = function() {
// Create new input element
const ele = document.createElement('input');
// Set the type attribute
ele.setAttribute('type', 'date');
const invalidValue = 'not-a-valid-date';
// Set an invalid value
ele.setAttribute('value', invalidValue);
// If the browser supports the date input,
// it won't have effect on the `value` attribute
// `ele.value` will be an empty string
//
// In the other case, the input is treated as normal text input
// and `ele.value` returns the original value
return ele.value !== invalidValue;
};
Этот подход можно использовать для проверки других типов ввода HTML 5, таких как email, url и т.д.