I want to insert a current date into an input in form with javascript, but it is not working, here are my codes:
document.addEventListener("DOMContentLoaded", function() {
document.getElementById("registrationday").value = getDay()
function getDay() {
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0');
var yyyy = today.getFullYear();
today = "\"" + yyyy + '-' + mm + '-' + dd + "\"";
return today
}
})
<input type="date" id="registrationday" name="registrationday" disabled>
Remove the quotes:
document.addEventListener("DOMContentLoaded", function() {
document.getElementById("registrationday").value = getDay()
function getDay() {
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0');
var yyyy = today.getFullYear();
today = yyyy + '-' + mm + '-' + dd;
return today
}
})
<input type="date" id="registrationday" name="registrationday" disabled>
However, a better solution is just to assign the current date to the input's valueAsDate property (suggested by @Always Helping):
document.addEventListener("DOMContentLoaded", function() {
document.getElementById("registrationday").valueAsDate = getDay()
function getDay() {
return new Date()
}
})
<input type="date" id="registrationday" name="registrationday" disabled>
var currentDate= new Date();
var day = ("0" + currentDate.getDate()).slice(-2);
var month = ("0" + (currentDate.getMonth() + 1)).slice(-2);
var today = currentDate.getFullYear()+"-"+(month)+"-"+(day) ;
document.getElementById("datepicker").value = today;
Solved with this JS:
document.addEventListener("DOMContentLoaded", function(){
var date = new Date ();
var day = datum.getDate(),
month = datum.getMonth() + 1,
year = datum.getFullYear();
var today = day + "-" + month + "-" + day ;
document.getElementById('registrationday').value = today;
});
HTML:
<input type="date" id="registrationday" name="registrationday" disabled>