表单onsubmit内联javascript

表单onsubmit内联javascript,javascript,forms,submit,inline,Javascript,Forms,Submit,Inline,我正在尝试将内联onsubmit脚本放在表单上,但它不起作用: <!DOCTYPE html> <html> <head></head> <body> <form onsubmit="(function(event){console.log(event); return false;})(this);"> <button type="submit">Submit</button&

我正在尝试将内联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中,
这始终是元素本身<代码>事件
作为内联Javascript的本地变量提供,因此您可以编写:

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

在内联Javascript中,
这个
始终是元素本身<代码>事件作为内联Javascript的本地变量提供,因此您可以编写:

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

在内联JS中,
this
是表单,而不是事件。在内联JS中,
this
是表单,而不是事件。我现在无法测试,但您确定Firefox中的事件是全局的吗?我似乎记得它是IE中window的一个属性,它被其他一些浏览器采用,但不是Firefox(或Mozilla浏览器),因此频繁使用
函数foo(evt){evt=evt | | window.event}
。它通常不是全局的,但在内联Javascript中可用。我现在无法测试,但您确定Firefox中的事件是全局性的吗?我似乎记得它是IE中window的一个属性,其他一些浏览器采用了它,但不是Firefox(或者Mozilla浏览器),因此经常使用
函数foo(evt){evt=evt | | window.event}
。它通常不是全局的,但在内联Javascript中是可用的。