在线提交表单 javascript

form onsubmit inline javascript

我正在尝试将内联 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>

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

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

<form onsubmit="return (function(event){console.log(event); return false;})(event);">

由于您使用的是 IIFE,它的 return 语句 return 来自函数,而不是来自事件处理程序。你需要 return 什么 IIFE returns.

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

<form onsubmit="console.log(event); return false;">