Posible duplicado:
detección de tipo HTML5 e inicialización de complementos
<input type=date>
Debería crear una entrada con un selector de fechas proporcionado por el agente de usuario (opcional), pero aún no es ampliamente compatible, por lo que estamos usando un selector de fechas de jQuery UI. ¿Cómo podemos permitir que los navegadores utilicen su propio selector de fechas y recurran a la interfaz de usuario de jQuery solo si el navegador no tiene tal cosa?
En la actualidad, creo que solo Opera tiene un selector de fechas incorporado, pero una prueba para Opera obviamente sería mala. ¿Hay alguna forma de detectar esta característica (si es que se puede de forma portátil)?
javascript
html
DédaloOtoño
fuente
fuente
<input class=datepicker>
y siempre uso jquery ui datepicker (a la antigua).Respuestas:
El siguiente método comprueba si la mayoría de los navegadores admiten algún tipo de entrada:
function checkInput(type) { var input = document.createElement("input"); input.setAttribute("type", type); return input.type == type; }
Pero, como Simonox mencionó en los comentarios, algunos navegadores (como los navegadores de valores de Android) fingen que admiten algún tipo (como fecha), pero no ofrecen una interfaz de usuario para las entradas de fecha. Así que simonox mejoró la implementación utilizando el truco de establecer un valor ilegal en el campo de fecha. Si el navegador desinfecta esta entrada, ¡también podría ofrecer un selector de fechas!
function checkDateInput() { var input = document.createElement('input'); input.setAttribute('type','date'); var notADateValue = 'not-a-date'; input.setAttribute('value', notADateValue); return (input.value !== notADateValue); }
fuente