Предварительно заполнить поле формы внутренними часами в миллисекундах из Javascript

На моем веб-сайте есть форма, которую мне нужно предварительно заполнить текущей миллисекундной меткой времени Unix.

У меня есть еще одно поле формы (в той же форме), которое успешно предварительно заполняет дату (месяц, день, год) следующим кодом:

 <div>DATE<br><input name="date" id="date"></div>

 <script>
 (function() {
 var days = ['','','','','','',''];
 var months =
['Jan','Feb','Mar','Apr','May','June','July','Aug','Sept','Oct','Nov','Dec'];
Date.prototype.getMonthName = function() {
return months[ this.getMonth() ]; };
Date.prototype.getDayName = function() {
return days[ this.getDay() ]; }; })();
var now = new Date();
var day = now.getDayName();
var month = now.getMonthName();
document.getElementById('date').value = day + ' ' + month + ' ' + 
now.getDate() + ', ' + now.getFullYear();
</script>

Однако... У меня нет такой же удачи при попытке предварительно заполнить второе поле формы временной меткой Unix Millisecond, используя этот код:

 <div>TIMESTAMP URL<br><input name="timeStampURL" id="timeStampURL"></div>

 <script>
 var d = new Date();
 document.getElementById('timeStampURL').innerHTML = d.getTime();
 </script>

Я не понимаю, почему эти два кода ведут себя по-разному, но любой совет относительно того, как заставить этот сценарий предварительно заполнять поле, был бы оценен.

1 ответ

Решение

Входные элементы не имеют никакого содержимого, поэтому установка их свойства innerHTML ничего не делает. Ваша первая функция устанавливает атрибут значения, а вторая -

function showTimeValue() {
  document.getElementById('timeValue').value = Date.now();
}

window.onload = showTimeValue;
<input id="timeValue">
<button onclick="showTimeValue()">Update time value</button>

Каждый раз, когда вы запускаете код, вы получаете обновленное значение.

Другие вопросы по тегам