我想将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>
答案 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>