Предварительно заполнить поле формы внутренними часами в миллисекундах из 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>
Каждый раз, когда вы запускаете код, вы получаете обновленное значение.