window.onload = function() { var date = new Date(); var dd = date.getDate(); var mm = date.getMonth() + 1; var yyyy = date.getFullYear(); //Add a zero if one Digit (eg: 05,09) if (dd < 10) { dd = "0" + dd; } //Add a zero if one Digit (eg: 05,09) if (mm < 10) { mm = "0" + mm; } minYear = yyyy - 80; //Calculate Minimun Age (<80) maxYear = yyyy - 18; //Calculate Maximum Age (>18) var min = minYear + "-" + mm + "-" + dd; var max = maxYear + "-" + mm + "-" + dd; document.getElementById("start").setAttribute("min", min); document.getElementById("start").setAttribute("max", max); }; <form> <label for="start">Date of birth:</label> <input type="date" id="start" required="required" name="trip-start" value="2021-10-02" /> <input type="submit" /> </form>¿Qué estoy haciendo exactamente mal aquí? Mi JavaScript no funciona. Solo funciona como JavaScript en línea, pero por alguna razón anula mi otro código JavaScript y aún no funciona, así que creé un archivo JS externo separado para probarlo, pero no funciona.
Nota: No puede ser JavaScript en línea.
También tienes que configurar el detector de eventos.
function getEvent(){ var age = getElementById("start").value; if(age<18 || age> 80){ console.log("age should be between 18 and 80") } } <input type"submit" onclick="getEvent()" name="click here">