表单onsubmit内联javascript

poa*_*oas 0 javascript forms inline submit

我试图在表单上放置一个内联onsubmit脚本,但它不起作用:

<!DOCTYPE html>
<html>
  <head></head>
  <body>
    <form onsubmit="(function(event){console.log(event); return false;})(this);">
      <button type="submit">Submit</button>
    </form>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

并且函数的参数是事件还是表单元素?

Bar*_*mar 5

在内联Javascript中,this始终是元素本身.event可用作内联Javascript的本地变量,因此您可以编写:

<form onsubmit="return (function(event){console.log(event); return false;})(event);">
Run Code Online (Sandbox Code Playgroud)

由于您正在使用IIFE,因此其return语句将从函数返回,但不会从事件处理程序返回.您需要返回IIFE返回的内容.

我不确定你为什么要使用IIFE,你可以写:

<form onsubmit="console.log(event); return false;">
Run Code Online (Sandbox Code Playgroud)