输入时间值Javascript

时间:2015-12-03 05:45:49

标签: javascript jquery html

我正在尝试使用javascript设置我的时间输入值这是我正在做的事情

var div = document.createElement("DIV");
var div_id = "div_hours_" + "1";

var input_open = document.createElement("INPUT");
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
input_open.type = 'time';
input_open.name = 'time_open_input';
input_open.value = h+ ":" + m + " am";

div.appendChild(input_open);
el("body_div").appendChild(div);

但是当我这样做时,我会看到时间输入,但它的值是空的?

为什么不输入值?

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

你需要

  1. 定义变量numOfHours
  2. 删除行input_open.type = 'time';(IE中尚不支持时间)
  3. 为el添加一个函数(或者您可以将其替换为行 - document.getElementById("body_div").appendChild(div),假设您希望附加到id为body_div的div
  4. 如果您使用的是Chrome,只需将最后一行更改为(而不是上面的2.)

    input_open.value = h + ":" + m;
    

答案 1 :(得分:-1)

Reference

  

value =时间

     

表示时间的字符串(没有时区信息)。

     

[RFC 3339]中定义的有效部分时间。

     

例子:23:20:50.52 17:39:57

您可能希望将类型更改为普通text

请参阅this JSFiddle

的JavaScript

var div = document.createElement("div");
var div_id = "div_hours_" + "1";

var input_open = document.createElement("input");
var today=new Date();
var h=today.getHours() < 10 ? "0" + today.getHours() : today.getHours();
var m=today.getMinutes() < 10 ? "0" + today.getMinutes() : today.getMinutes();
var s=today.getSeconds() < 10 ? "0" + today.getSeconds() : today.getSeconds();
input_open.type = 'text';
input_open.name = 'time_open_input';
input_open.value = h + ":" + m + " am";

div.appendChild(input_open);
document.body.appendChild(div);