我刚开始学习php,时不时需要一些JS函数。今天就是其中之一。我有一个 HTML 表单,询问用户的年龄,我想检查他们是否输入了与今天日期相比更大或相等的日期。这是 HTML 代码:
var borndate = document.getElementById("borndate");
var date = new Date()
function comparedate(){
if (borndate >= date.getFullYear()){
alert("Looks like you are to young!");
return false;
} else {
return true;
}
}
<div class="form">
<form class="login-form" method="POST" action="main.php">
<input type="date" id="borndate" name="borndate" required="required"/>
<input type="submit" value="submit" onclick="comparedate()"/>
</form>
</div>
最佳答案
尝试一下:
// You were wrong comparing only the year with the full date
var todaysYear = new Date().getFullYear();
var borndate = document.getElementById("borndate");
var form = document.querySelector("form");
// Working with forms we want to catch submit (not click) events
form.addEventListener('submit', comparedate)
function comparedate(evt) {
// preventing default behavior (form submit in this case)
evt.preventDefault();
// here we translate 'string' value back to 'date' & extract year
var yearOfBirth = new Date(borndate.value).getFullYear()
// an alternative would be to simply parse the year off the string itself
if (yearOfBirth >= todaysYear) {
alert("Looks like you are to young!");
} else {
// submitting form programmatically
form.submit()
}
}
<div class="form">
<form class="login-form" method="POST" action="main.php">
<input type="date" id="borndate" name="borndate" required="required" />
<input type="submit" class="button" name="button" value="submit" />
</form>
</div>
关于javascript - 比较 HTML 表单中 Javascript 中的两个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53186072/