javascript - 提醒输入时间返回不正确

标签 javascript

我正在尝试输入一个时间并将其返回给我,以便我可以提醒它。我收到两个错误: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 属性。

我还想对您的功能进行一些改进

  1. 您的时间显示为400PM。我对其进行了改进,现在显示 4:00PM
  2. 我还检查了时间字段是否有值。只有这样我才会提醒时间。之前它显示时间未定义下午

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/

相关文章:

javascript - Unslider(JS 问题?)在页面刷新时中断

javascript - 如何从对象函数返回对象 - javascript?

javascript - 如何将图像标题添加到 jQuery ImageViewer 插件中的事件项目?

javascript - 我如何将一个对象从一个函数发送到AngularJS中的另一个函数

javascript - 获取 firebase 返回的数组的长度

java - 网页异步更新有哪些方式?

javascript - Laravel Mix 中的 Webpack 别名为 node_modules

javascript - 如果使用移动浏览器隐藏 DIV

javascript - 无法在 Visual Studio Code 中使用 TypeScript 设置 Angular 2

javascript - 如果复选框被选中/未选中,启用/禁用提交按钮?