将Java Script时间戳写入输入字段

时间:2016-10-24 10:05:35

标签: input timestamp hidden

我想将java脚本生成的时间戳写入隐藏的表单输入字段。以下代码将时间戳写入段落(p元素)但不写入输入元素。

  

它写入一个元素但未能对另一个元素执行此操作。

有人可以了解脚本的这种行为吗?

   <!DOCTYPE html>
<html>
<body>
<p id="demo">pkj</p>
<input id="ts" type="time" name="ts"></input>
<script>
    var oD = new Date();
    document.getElementById("ts").innerHTML = oD.getTime();//**FAILS**
    document.getElementById("demo").innerHTML = oD.getTime();//**SUCCEEDS**
</script>

2 个答案:

答案 0 :(得分:0)

根据定义,

<input>是一个空元素,意味着没有innerHTML,它没有允许的内容。并且不需要结束标记(</input>)。

https://developer.mozilla.org/en/docs/Web/HTML/Element/Input

您可以通过

更改属性“value”,这是一种默认输入
document.getElementById("ts").value = oD.getTime();

或者你可以添加像

这样的标签
<label id="label">xyz</label><input id="ts" type="time" name="ts">

并使用

进行更改
document.getElementById("label").innerHTML = oD.getTime();

答案 1 :(得分:0)

根据您的建议,我更改了&#34; innerHTML &#34;的输入元素的属性。到&#34; **

&#34;的&#34;如下面的代码所示。现在工作正常。 问题已解决。

感谢

Jayk

<!DOCTYPE html>
<html>
    <head>   
    </head>
    <body>
        <p id="demo" > </p>
        <input id="ts" type="time" name="ts" value=""></input>
        <script>
           var oD = new Date();
           document.getElementById("ts").value = oD.getTime();//**SUCCEEDS**
           document.getElementById("demo").innerHTML = oD.getTime();//**SUCCEEDS**
           var t=document.getElementById("demo").innerHTML
        </script>
</body>
</html>