Mögliches Duplikat:
HTML5-Typerkennung und Plugin-Initialisierung
<input type=date>
Sollte eine Eingabe mit einem vom Benutzeragenten bereitgestellten Datepicker erstellt werden, der jedoch noch nicht allgemein unterstützt wird, verwenden wir einen jQuery UI Datepicker. Wie können wir Browsern erlauben, ihren eigenen Datepicker zu verwenden und nur dann auf die jQuery-Benutzeroberfläche zurückzugreifen, wenn der Browser so etwas nicht hat?
Derzeit denke ich, dass nur Opera einen eingebauten Datepicker hat, aber ein Test für Opera wäre offensichtlich schlecht. Gibt es eine Möglichkeit, diese Funktion zu erkennen (wenn überhaupt tragbar)?
javascript
html
DaedalusFall
quelle
quelle
<input class=datepicker>
und benutze immer jquery ui datepicker (die altmodische Art).Antworten:
Die folgende Methode prüft, ob ein Eingabetyp von den meisten Browsern unterstützt wird:
function checkInput(type) { var input = document.createElement("input"); input.setAttribute("type", type); return input.type == type; }
Aber, wie simonox in den Kommentaren erwähnt, einige Browser (wie Android Lager Browser) behaupten , dass sie irgendeine Art unterstützen (wie heute), aber sie bieten keine UI für Datumseingaben. Deshalb hat simonox die Implementierung verbessert, indem ein unzulässiger Wert in das Datumsfeld gesetzt wurde. Wenn der Browser diese Eingabe bereinigt, könnte er auch einen Datepicker anbieten !!!
function checkDateInput() { var input = document.createElement('input'); input.setAttribute('type','date'); var notADateValue = 'not-a-date'; input.setAttribute('value', notADateValue); return (input.value !== notADateValue); }
quelle