输入时间值Javascript

Input time value Javascript

本文关键字:Javascript 时间 输入      更新时间:2023-09-26

我正试图用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);

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

为什么没有输入值?

感谢的帮助

您需要

  1. 定义变量numOfHours
  2. 删除行input_open.type = 'time';(IE中还不支持时间)
  3. 为el添加一个函数(或者您可以将其替换为-document.getElementById("body_div").appendChild(div)行,假设您希望附加到id为body_div的div
<小时>

如果你正在使用Chrome,只需将最后一行改为(而不是2。以上)

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

参考

值=时间

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

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

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

您可能需要将类型更改为纯text

请参阅此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);