<!DOCTYPE html>
<html>
<head>
<title>Greet</title>
</head>
<body>
<form id="demo">
<input id="name" placeholder="Name" type="text"/>
<input type="submit"/>
</form>
<script>
function greet()
{
alert('hello, ' + document.getElementById('name').value);
}
document.getElementById('demo').onsubmit = greet();
</script>
</body>
警报未显示我提交的名称。只有1个}}。但是,如果我重写像hello,
这样的代码,那么它就可以了。但为什么?
这也有效:
document.getElementById('demo').onsubmit = greet;
答案 0 :(得分:1)
它起作用的原因是因为greet
指的是函数本身。当您编写greet()
时,您正在传递greet函数的输出,因为括号调用该函数并返回输出。