2016-10-24 4 views
0

Я хочу записать временную метку, сгенерированную скриптом java, в поле ввода скрытой формы. Следующий код записывает метку времени в элемент (элемент p), но не записывает входной элемент.написать временную метку сценария Java для поля ввода

Он записывает один элемент, но не делает этого другому элементу.

Можно ли пролить свет на это поведение сценария?

<!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

<input> по определению является пустым элементом, то есть нет innerHTML, он не имеет разрешенное содержание. И нет необходимости в закрывающей теге (</input>).

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

Вы можете изменить свойство "значение", своего рода вход по умолчанию с помощью

document.getElementById("ts").value = oD.getTime(); 

Или вы можете добавить ярлык как

<label id="label">xyz</label><input id="ts" type="time" name="ts"> 

и изменить его с

document.getElementById("label").innerHTML = oD.getTime(); 
+0

Благодаря JosefScript, – Jayk

+0

Ну, а затем пометить его как ответил;) – JosefScript

+0

И, кстати, до сих пор нет необходимости закрывающего тега. – JosefScript

0

По вашему совету я изменил атрибут элемента ввода от «innerHTML» на «**

» значение ", как показано в коде below.It теперь работает нормально. Проблема решена. !

благодаря

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> 
Смежные вопросы