基于日期显示日期的Javascript
Javascript for displaying day based on the date
我有以下一组标签:
<input type="text" class="form" id="reserveDate" placeholder="Select date"
onclick="showHours(reserveDate);" onfocus="(this.type='date')" required>
<p id="demo"></p>
我的JS代码如下:
function showHours(reserveDate) {
var d = reserveDate.getDay();
if( d >= 0){
document.getElementById("demo").innerHTML = "sunday";
}
}
我正在尝试使用CDT
进行调试,并且在var d = reserveDate.getDay();
之后收到以下错误消息:
未捕获的类型错误:undefined不是函数。
为什么我不能在这里使用getDay()
?
您将输入ID传递给showHours
函数,由于所有ID都存储为全局范围中的window.ID
,因此您将获得HTML元素,而不是日期对象。
删除内联onclick处理程序并使用适当的事件处理程序代替
<input type="date" class="form" id="reserveDate" placeholder="Select date" required>
然后做
var elem = document.getElementById('reserveDate');
elem.addEventListener('change', function() {
var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var date = new Date(this.value);
var day = date.getDay();
document.getElementById('demo').innerHTML = days[day];
}, false);
FIDDLE
.getDay((的实现可能是错误的,或者您传入了错误类型的变量reserveDate。后者更有可能。使用console.log(reserveDate(查看变量的实际内容,并确保它是Date对象的类型。
由于您正试图在showHours()
函数中调用getDate()
方法,因此应该传入一个日期对象(根据当前文本输入的值实例化(,以便单击事件的回调看起来如下所示:showHours(new Date(this.value));
<input
type="text"
class="form"
id="reserveDate"
placeholder="Select date"
onClick="showHours(new Date(this.value))"
onfocus="(this.type='date')"
required />
<p id="demo"></p>
然后保持JS函数原样:
function showHours(reserveDate) {
var d = reserveDate.getDay();
if( d >= 0){
document.getElementById("demo").innerHTML = "sunday";
}
}
相关文章:
- 将时区格式的日期显示为UTC时间
- 如何根据所选日期显示警告
- JavaScript日期显示
- 如何使用 DHTMLX 甘特图扩展甘特图的日期显示
- 如何根据当前日期显示两周期间的第一天
- 日期选取器将今天的日期显示为默认值,并且仅适用于 GET
- 由于时区的原因,字符串的新日期显示为前一天
- 如何使用JavaScript将日期显示为DD/MM/YY格式
- fullCalendar.js:按选定日期显示事件
- javascript getDay()为旧日期显示错误的日期
- 在JSON中按日期显示数组出现的次数
- 根据所选日期显示信息
- Jquery日期选择器所有日期显示为不可选择
- 从数据库中按日期显示日历上的事件
- Jqgrid中的日期显示休息1天
- 基于日期显示日期的Javascript
- CouchDB map/reduce函数按日期显示用户的有限结果
- JavaScript日期显示错误的日期和时间
- 我通过javascript突出显示的当前日期显示不正确
- 使用JavaScript进行查询,以便在HTML文档中按日期显示事件