我正在尝试输入一个时间并将其返回给我,以便我可以提醒它。我收到两个错误:1)“time.split 不是函数”(我猜是因为我没有传递字符串 2)当我尝试将 .toString() 添加到参数或 time.toString( ).split(/:/) 它没有正确返回。我怎样才能让它提醒时间?谢谢!
function changeTime(time) {
time = time.split(/:/);
if (time[0] < 12) {
return (time[0] + time[1] + " AM");
} else if (time[0] == 12) {
return (time[0] + time[1] + " PM");
} else if(time[0] > 12) {
return ((time[0] - 12) + time[1] + " PM");
} else {
return("Please enter a valid time!");
}
}
getTime.addEventListener('click', function() {
alert("The time is " + changeTime(timeText));
});
编辑:这是我的“timeText”和“getTime”输入字段
<button id="getTime">Get Time</button>
<input type="time" id="timeText" />
最佳答案
看起来timeText
是一个输入字段。在这种情况下,要获取字符串,您必须调用 value 属性。
我还想对您的功能进行一些改进
- 您的时间显示为
400PM
。我对其进行了改进,现在显示4:00PM
。 - 我还检查了时间字段是否有值。只有这样我才会提醒时间。之前它显示
时间未定义下午
var getTime = document.getElementById("get-time");
var timeText = document.getElementById("time-text");
function changeTime(time) {
time = time.split(/:/);
if (time[0] < 12) {
return (time[0] + ":" + time[1] + " AM");
} else if (time[0] == 12) {
return (time[0] + ":" + time[1] + " PM");
} else if(time[0] > 12) {
return ((time[0] - 12) + ":" + time[1] + " PM");
} else {
return("Please enter a valid time!");
}
}
getTime.addEventListener('click', function() {
if (timeText.value) {
alert("The time is " + changeTime(timeText.value));
}
});
<input id="time-text" type="time">
<button id="get-time">Get Time</button>
关于javascript - 提醒输入时间返回不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35805564/