我正在为Android和IOS开发HTML5应用程序并遇到某种错误问题。
我想要实现的是获得HH:MM
<input type="time">
格式
根据W3C http://www.w3.org/TR/html5/forms.html#time-state-(type=time)
step
的默认属性为60秒。这意味着用户永远无法选择没有任何额外属性的秒数.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/
提前致谢
答案 0 :(得分:2)
我得到了一个解决方案。
HTML
<input id="foo" />
JS
$("#foo").on("change",function(){
$(this).attr("type","text");
});
$("#foo").on("touchstart",function(){
$(this).attr("type","time");
});
将值显示为type="text"
并在键盘显示之前更改类型。
简单但对我很有用。
<强> EDITED 强>
我向google报告了这个错误。并得到了确认和修复。 这个bug将在下次更新时消失。 https://code.google.com/p/chromium/issues/detail?id=459966
答案 1 :(得分:0)
如果您要从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的形式显示,没有秒数