javascript - 选择特定日期时显示错误(日期输入)
问题描述
我有以下输入允许用户在订单中选择日期:
<input id="datefield" name="date" type='date' required onkeydown="return false" min='2019-05-10'></input>
我已经按照 Tiffany Brown 教程进行操作,并且已经开始使用它,因此会出现以下错误:
var date = document.querySelector('[type=date]');
函数 noOrder(e){
var weekDay = new Date( e.target.value ).getUTCDay();
// Days in JS range from 0-6 where 0 is Sunday and 6 is Saturday
if( weekDay == 0){
e.target.setCustomValidity('Unfortunately we cannot deliver cakes on Sundays, please select another day');
} else {
e.target.setCustomValidity('');
}
}
date.addEventListener('input',noOrder);
但是当我尝试添加它以使 12 月 25 日不可用时,它完全停止工作并且没有出现错误。
这就是我正在做的事情:
var date = document.querySelector('[type=date]');
函数 noOrder(e){
var weekDay = new Date( e.target.value ).getUTCDay();
var month = weekDay(e.target.value).getUTCMonth()+1;
var day = weekDay(e.target.value).getUTCDate();
// Days in JS range from 0-6 where 0 is Sunday and 6 is Saturday
if( weekDay == 0){
e.target.setCustomValidity('Unfortunately we cannot deliver cakes on Sundays, please select another day');
}else if (day == 25 && month == 12) {
e.target.setCustomValidity('Unfortunately we cannot deliver cakes on this day, please select another day');
} else {
e.target.setCustomValidity('');
}
}
date.addEventListener('input',noOrder);
真正让我困惑的是添加另一个变量,例如 var month = weekDay(e.target.value).getUTCMonth()+1; 整个事情停止工作
有人能帮我解决我哪里出错了吗?
已经采取了不同的方式并让它发挥作用,我现在正在做:
const validate = dateString => {
const day = (new Date(dateString)).getDay();
const month = (new Date(dateString)).getMonth()+1;
const number = (new Date(dateString)).getDate();
if (number == 25 && month == 12) {
return false;
}
return true;
}
// Sets the value to '' in case of an invalid date
document.querySelector('input').onchange = evt => {
if (!validate(evt.target.value)) {
evt.target.value = '';
alert("We cannot deliver cakes on this day. Please select another");
}
}
解决方案
推荐阅读
- swift - 我们可以在 Swift 中同时使用 Public 和 Private Access 修饰符吗?
- c++ - 向量下标超出范围错误 - C++ Vectors & OpenCV4
- php - 不使用隐藏字段和表单的 Ajax 'POST' 值到另一个页面
- excel - VBA:将特定单元格从 Excel 复制到 Word 上的表格中并格式化输出
- c# - 我应该如何最好地将我的嵌套模型连接到我的 ViewModel?
- javascript - 制表符:是否可以为每一行添加具有计算值的自定义列?
- react-redux - 如何在 react redux 中使用 mapStateToProp
- ios - 如何编写函数/代码在两个文本之间切换?语言学习应用。所以语言 1 到语言 2
- arrays - Bash:在命令行工作,但在脚本中使用时得到'curl:(1) 协议“https”不支持或在 libcurl 中禁用'
- matlab - 合并2个矩阵