我的网站上有一个表单,我需要预先填充当前的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毫秒时间戳预先填充第二个表单字段时,我没有同样的运气:
<div>TIMESTAMP URL<br><input name="timeStampURL" id="timeStampURL"></div>
<script>
var d = new Date();
document.getElementById('timeStampURL').innerHTML = d.getTime();
</script>
我不明白为什么这两个代码的行为方式不同,但是对于如何让该脚本预先填充该字段的任何建议都将不胜感激。
答案 0 :(得分:1)
输入元素没有任何内容,因此设置 innerHTML 属性不会执行任何操作。您的第一个功能是设置值属性,第二个功能也是如此:
function showTimeValue() {
document.getElementById('timeValue').value = Date.now();
}
window.onload = showTimeValue;
&#13;
<input id="timeValue">
<button onclick="showTimeValue()">Update time value</button>
&#13;
每次运行代码时,您都会获得更新的值。