2

如何限制字符显示在输入标签上?我以这种格式从服务器获取时间:hh:mm:ss,我想用这种格式显示一些东西hh:mm,有办法得到它吗?
我尝试在chrome上使用maxlength,size,但我无法得到它..

<input id="timetable_start" name="start" type="text" value="07:31:00" maxlength=5 pattern="^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$" size=5>

http://jsfiddle.net/8FtAX/

4

3 回答 3

3

如果您无法控制传入的数据,您可以使用 javascript 来显示您想要的,使用 jquery + timeentry.js 您可以轻松完成并获得更多功能:

$(function () {
    $("#timetable_start").timeEntry({show24Hours: true});
});

在这里试试:http: //jsfiddle.net/cespinoza/e3anw/10/

于 2013-04-23T14:56:09.240 回答
1

这是工作。

尝试更改初始值,从:

value="07:31:00"

至:

value="07:31"
于 2013-04-22T22:47:59.277 回答
0

您应该真正在服务器端处理数据(例如,通过将字符串截断为特定长度),以便 HTML 文档中的数据是您想要显示的。但如果这是不可能的,您可以使用该size属性以字符指定文本输入框的可见宽度(如您所尝试的那样)并将字体设置为等宽,例如

size="5" style="font-family: Consolas, Lucida Console, monospace"

添加到input标签中。关键是“字符的(平均)宽度”除了等宽字体之外没有明确的含义,并且浏览器传统上size以完全不同的方式实现该属性,除了等宽字体。

但是,请注意,提交时发送的表单数据可用于客户端脚本,并通过浏览器检查是否支持该pattern属性,最初仍将是您放置在该value属性中的内容。所以用户需要猜测这个并删除“不可见”的部分。这听起来像是可用性的噩梦。

于 2013-04-23T04:51:11.520 回答