form.onsubmit如何调用函数?

时间:2017-11-12 07:23:19

标签: javascript html5 onsubmit

<!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;

1 个答案:

答案 0 :(得分:1)

它起作用的原因是因为greet指的是函数本身。当您编写greet()时,您正在传递greet函数的输出,因为括号调用该函数并返回输出。