I have a paragraph element that I’d like to dynamically update to display whatever the date selected from my input type="date" element is:
<input type="date" id="datepicker" name="date" required>
<p id='testVariable3'></p>
So far I’ve tried this, but it doesn’t update:
<div>
<h4 style="padding: 5px">Select a date</h4>
</div>
<input type="date" id="datepicker" name="date" required />
<script>
var currentDate = new Date().toISOString().split("T")[0];
document.getElementById("datepicker").min = currentDate;
</script>
<p id="testVariable1"></p>
<p id="testVariable2"></p>
<p id="testVariable3"></p>
<div>
<input type="submit" value="Submit" class="btn btn-primary" />
</div>
<script>
const hotdeskLinks = document.querySelectorAll(".test a");
var allBookings = "{{all-bookings}}";
var decodedBookings = allBookings.replace(/"/g, '"');
const test1 = document.getElementById("testVariable1");
const workspaceAttributes = JSON.parse(decodedBookings).map(
(decodedBookings) => decodedBookings.workspace
);
test1.textContent = workspaceAttributes;
const test2 = document.getElementById("testVariable2");
const dateAttributes = JSON.parse(decodedBookings).map(
(decodedBookings) => decodedBookings.date
);
test2.textContent = dateAttributes;
const datepicker = document.getElementById("datepicker");
const test3 = document.getElementById("testVariable3");
datepicker.addEventListener("change", function (event) {
const selectedDate1 = datepicker.value;
test3.textContent = selectedDate;
});
</script>
>Solution :
It looks like you have a small typo at the bottom of your script. This is your code:
datepicker.addEventListener('change', function(event) {
const selectedDate1 = datepicker.value;
test3.textContent = selectedDate;
You declared selectedDate1 in your event listener function and then tried to assign selectedDate to test3.textContent
See if changing this typo can fix your issue.