2015-11-07 60 views
-2

我有两个type="number"<input>元素,我想用它来让人们进入小时分钟在移动应用部分时间值。如何创建一个总是填充2位数字的数字输入?

默认情况下,两个输入元素的值是0,因此它们都显示0。这导致显示0:0。然而,通常的表示会是0:00,所以我想第二个输入显示两位数。另外,如果用户输入的值低于10,我仍然希望输入显示用0填充的数字。

我可以想象有几种方法可以用文本输入字段来实现,但这会产生验证问题。另外,我选择了type="number",因此当input元素集中时,移动操作系统将弹出数字输入。

+0

怎么样'TYPE = “时间”'? – JJJ

+0

@Juhana我不知道存在。我将不得不检查它是否支持所有我们的部署目标。不过谢谢。 –

回答

0

您可以使用这些代码数字键盘: -

function pad(n, width, z) 
{ 
    z = z || '0'; 
    n = n + ''; 
    return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n; 
} 

pad(10, 4);  // 0010 
pad(9, 4);  // 0009 
pad(123, 4);  //
+0

这不起作用。我无法将数字输入的值设置为字符串。 –

+0

我编辑了答案,你可以再试一次吗? –

+0

我很欣赏这种努力,但那些仍然是字符串。关于我的问题的关键部分不是如何填充数字,而是如何实现数字输入HTML元素中的填充。 –

相关问题