【发布时间】:2021-03-12 23:06:34
【问题描述】:
此函数的目的是默认将时间戳加载到表单元素中,但似乎在 HTML 呈现时从未加载此 javascript 函数。
<!DOCTYPE html>
<html>
<script type=”text/javascript”>
function Timestamp() {
const currentTime = new Date();
var year = currentTime.getFullYear();
var month = currentTime.getMonth();
var day = currentTime.getDate();
var dash = "-";
var space = " ";
var colon = ":";
var hour = currentTime.getHours();
var minutes = currentTime.getMinutes();
var seconds = currentTime.getSeconds();
var timestamp = year.concat(dash, month, dash, day, space, hour, colon, minutes, colon, seconds);
document.getElementById("curr").innerHTML = timestamp;
console.log(timestamp);
}
</script>
<head>
<title>Create New Reservation</title>
</head>
<body onload="Timestamp()">
<h1>Enter Reservation Details</h1>
<h3>Current Time: <span id="curr"></span></h3>
<form method="post" action="form.php">
<fieldset>
<label>Current Time</label>
<type="text" />
<input type="text" id="occurred" name="occurred">
</form>
</body>
</html>
控制台输出如下错误:
“未捕获的引用错误:未定义时间戳”
【问题讨论】:
-
尝试将脚本移动到
<head>并可能更改type=”text/javascript”以使用正常的双引号。或者只是删除该属性。简单的脚本不再需要它了。 -
<html>只能有<head>和<body>子级。 developer.mozilla.org/en-US/docs/Web/HTML/Element/html -
year是一个数字而不是字符串,因此没有concat方法。year.toString().concat(...。或者使用可用的DateTimeFormat 对象。
标签: javascript html referenceerror