Gegeben ein Eingabeelement:
<input type="date" />
Gibt es eine Möglichkeit, den Standardwert des Datumsfelds auf das heutige Datum zu setzen?
Gegeben ein Eingabeelement:
<input type="date" />
Gibt es eine Möglichkeit, den Standardwert des Datumsfelds auf das heutige Datum zu setzen?
Wie jedes HTML-Eingabefeld lässt der Browser das Datumselement leer, es sei denn, es wird ein Standardwert in der value
Attribut. Leider bietet HTML5 keine Möglichkeit zur Angabe von 'today'
im HTMLInputElement.prototype.value
.
Stattdessen muss man explizit eine RFC3339 formatiertes Datum ( YYYY-MM-DD
). Zum Beispiel:
element.value = "2011-09-29"
Utilisez HTMLInputElement.prototype.valueAsDate
:
document.getElementById('datePicker').valueAsDate = new Date();
Das JavaScript-Date-Objekt bietet genügend integrierte Unterstützung für das erforderliche Format, um eine manuelle Eingabe zu vermeiden:
Fügen Sie dies für eine korrekte Zeitzonenunterstützung hinzu:
Date.prototype.toDateInputValue = (function() {
var local = new Date(this);
local.setMinutes(this.getMinutes() - this.getTimezoneOffset());
return local.toJSON().slice(0,10);
});
jQuery:
$(document).ready( function() {
$('#datePicker').val(new Date().toDateInputValue());
});
Reines JS:
document.getElementById('datePicker').value = new Date().toDateInputValue();
Sie können den Standardwert durch JavaScript füllen, wie hier zu sehen:
$(document).ready( function() {
var now = new Date();
var month = (now.getMonth() + 1);
var day = now.getDate();
if (month < 10)
month = "0" + month;
if (day < 10)
day = "0" + day;
var today = now.getFullYear() + '-' + month + '-' + day;
$('#datePicker').val(today);
});
Ich würde wahrscheinlich etwas mehr Zeit investieren, um herauszufinden, ob der Monat und das Datum einstellig sind, und ihnen eine zusätzliche Null voranstellen... aber das sollte Ihnen eine Idee geben.
EDIT: Zusätzliche Prüfung auf die zusätzliche Null.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.