【问题标题】:How to remove seconds of HTML5 input type time如何删除 HTML5 输入类型时间的秒数
【发布时间】:2015-04-17 15:17:06
【问题描述】:

我正在为 Android 和 IOS 开发 HTML5 应用程序,但遇到了一些错误的问题。 我想要实现的是获得HH:MM格式的<input type="time">

根据 W3C http://www.w3.org/TR/html5/forms.html#time-state-(type=time)

step 的默认属性是 60s。这意味着用户永远无法在没有任何额外属性的情况下选择秒数,并且 IOS safari(IOS7/8) 和 Android(jellybeans - lolipop chrome latest) 的时间选择器按预期工作。

问题在于 Chrome 的 input 显示 HH:MM:SS 而不是 HH:MM。即使SS 从来没有得到任何价值,但00

有什么方法可以去掉SS 部分吗?

编辑 此问题仅在 Android 的 Chrome 上。

JSfiddle:http://jsfiddle.net/yymvLk9a/

提前致谢

【问题讨论】:

  • 标题和第一段说的是“输入日期”,但这是关于,对吧? “占位符”是指用户设置的值,而不是 HTML 的“占位符”属性吗?
  • 这是适用于 Android 上的谷歌浏览器,而不是桌面,对吧?
  • @int32_t 你如何识别是完全正确的。问题已更新。是的,它是 Android 上的 Chrome。
  • AFAIK,我们无法隐藏秒数。但是,如果不需要,桌面 Chrome 不会显示秒字段。所以,这应该是一个错误,我建议你在 crbug.com 中提交一个错误。

标签: android css html google-chrome


【解决方案1】:

我有办法解决这个问题。

html

<input id="foo" />

js

$("#foo").on("change",function(){
  $(this).attr("type","text");
});
$("#foo").on("touchstart",function(){
  $(this).attr("type","time");
});

将值显示为type="text",并在键盘出现之前更改类型。

简单但对我很有用。

已编辑

我向 google 报告了这个错误,并得到了确认和修复。 此错误将在下次更新时消失。 https://code.google.com/p/chromium/issues/detail?id=459966

【讨论】:

  • 感谢您报告错误并在此处链接!已在 Chrome 43 中解决
【解决方案2】:

如果你从 MySQL 获得时间,你可以使用

$sql = "SELECT *, TIME_FORMAT(PickupTime, '%H:%i') AS PT FROM Trips WHERE TripID=".$tid;

然后填写表格时

type="time" id="pickuptime" name="pickuptime" value="<?php echo $row['PT']; ?>"

这似乎在 Firefox 中显示为 HH:mm without seconds

【讨论】:

    猜你喜欢
    • 2020-05-20
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 1970-01-01
    • 2020-06-06
    相关资源
    最近更新 更多