Datumsauswahl auf Chrome 20 gelandet. Gibt es ein Attribut, um es zu deaktivieren? Mein gesamtes System verwendet den jQuery UI-Datepicker und dessen Crossbrowser. Daher möchte ich den nativen Chrome-Datepicker deaktivieren. Gibt es ein Tag-Attribut?
html
google-chrome
datepicker
Alexandre
quelle
quelle
Antworten:
So verstecken Sie den Pfeil:
Und um die Eingabeaufforderung zu verbergen:
quelle
Wenn Sie missbraucht haben
<input type="date" />
, können Sie wahrscheinlich verwenden:nachdem sie geladen wurden, um sie in Texteingaben umzuwandeln. Sie müssen zuerst Ihren benutzerdefinierten Datepicker anhängen:
Oder Sie könnten ihnen eine Klasse geben:
quelle
Du könntest benutzen:
quelle
jQuery('input[type="date"]').on('click', function(e) {e.preventDefault();}).datepicker();
Mit Modernizr ( http://modernizr.com/ ) kann diese Funktionalität überprüft werden. Dann können Sie es mit dem zurückgegebenen Booleschen Wert verknüpfen:
quelle
Das hat bei mir funktioniert
quelle
Der obige Code legt weder den Wert des Eingabeelements fest noch löst er ein Änderungsereignis aus. Der folgende Code funktioniert in Chrome und Firefox (nicht in anderen Browsern getestet):
pad ist eine einfache benutzerdefinierte String-Methode zum Auffüllen von Strings mit Nullen (erforderlich)
quelle
Ich stimme Robertc zu. Der beste Weg ist, nicht type = date zu verwenden, aber mein JQuery Mobile Datepicker-Plugin verwendet es. Also muss ich einige Änderungen vornehmen:
Ich verwende jquery.ui.datepicker.mobile.js und habe folgende Änderungen vorgenommen:
Von (Zeile 51)
zu
Geben Sie im Formulargebrauch Text ein und fügen Sie den var plug hinzu:
quelle
data-*
Attribute . In diesem Fall rufen Siedata-plug
stattdessen Ihr Attribut aufplug
. Es wird dann garantiert niemals mit einem neuen Attribut in Konflikt geraten, das in HTML6 / 7/8 / etc. Hinzugefügt wurde.Ich benutze folgendes (Coffeescript):
welches in einfaches Javascript konvertiert wird:
quelle
Das hat bei mir funktioniert:
Obwohl der Wert der Datumsfelder noch vorhanden und korrekt war, wurde er nicht angezeigt. Aus diesem Grund habe ich die Datumswerte aus meinem Ansichtsmodell zurückgesetzt.
quelle
Das funktioniert bei mir:
Siehe auch:
Wie kann ich die neue Chrome HTML5-Datumseingabe deaktivieren?
http://zizhujy.com/blog/post/2014/09/18/Add-date-picker-to-dynamically-generated-input-elements.aspx
quelle
Ich weiß, dass dies jetzt eine alte Frage ist, aber ich bin gerade hier gelandet und habe nach Informationen darüber gesucht, damit es auch jemand anderes könnte.
Mit Modernizr können Sie feststellen, ob der Browser HTML5-Eingabetypen wie "Datum" unterstützt. Wenn dies der Fall ist, verwenden diese Steuerelemente das native Verhalten, um Dinge wie Datumsauswahl anzuzeigen. Wenn dies nicht der Fall ist, können Sie angeben, mit welchem Skript Ihr eigener Datepicker angezeigt werden soll. Funktioniert gut für mich!
Ich habe meiner Seite jquery-ui und Modernizr hinzugefügt und dann diesen Code hinzugefügt:
Dies bedeutet, dass der native Datepicker in Chrome und der jquery-ui im IE angezeigt wird.
quelle
Für Laravel5 Da benutzt man
{!! Form :: input ('date', 'date_start', null, ['class' => 'form-control', 'id' => 'date_start', 'name' => 'date_start']) !!}
=> Chrome erzwingt die Datumsauswahl. => Wenn Sie es mit CSS entfernen, erhalten Sie die üblichen Formatierungsfehler! (Der angegebene Wert entspricht nicht dem erforderlichen Format "JJJJ-MM-TT".)
LÖSUNG:
$ ('input [type = "date"]'). attr ('type', 'text');
quelle