当前位置:  开发笔记 > 编程语言 > 正文

为什么evt从onSubmit传递未定义?

如何解决《为什么evt从onSubmit传递未定义?》经验,为你挑选了1个好方法。

所以我试图在表单提交中阻止onSubmit.我有两个问题.

1)从哪个e参数传入?

2)为什么e未定义,因此无法正确阻止默认操作?每次刷新页面都是我试图阻止的动作


  
  
  
    

Quentin.. 5

传入的e参数在哪里?

无处

为什么e未定义,因此无法正确阻止默认操作?

因为没有调用该函数.


onSubmit={func}

你的JavaScript功能:

    开始一个块(没有实际效果)

    提到一个函数名称(由于你没有调用它,它与操作符或任何东西组合而没有效果)

    结束块

一切都没有.


onsubmit属性的正确语法是:

onsubmit="func(event);"

...你实际上调用了func它,并且你传递了它试图传递它的参数.(内部事件属性获取event自动调用的参数).


绑定事件与HTML被认为是不好的做法,他们带来讨厌的陷阱.通常首选将事件处理程序与JS绑定.

document.querySelector("form")
        .addEventListener("submit", func);

现在func是事件处理程序本身,它将事件对象作为第一个参数,因为这是事件处理程序获得的.


请注意,箭头功能是:

    匿名,这使得它们在调试器中使用起来变得不那么有用了

    捕获当前值this(对于事件处理程序通常不受欢迎,因为它会阻止您使用this以获取处理程序绑定的元素).

函数声明通常是优选的.



1> Quentin..:

传入的e参数在哪里?

无处

为什么e未定义,因此无法正确阻止默认操作?

因为没有调用该函数.


onSubmit={func}

你的JavaScript功能:

    开始一个块(没有实际效果)

    提到一个函数名称(由于你没有调用它,它与操作符或任何东西组合而没有效果)

    结束块

一切都没有.


onsubmit属性的正确语法是:

onsubmit="func(event);"

...你实际上调用了func它,并且你传递了它试图传递它的参数.(内部事件属性获取event自动调用的参数).


绑定事件与HTML被认为是不好的做法,他们带来讨厌的陷阱.通常首选将事件处理程序与JS绑定.

document.querySelector("form")
        .addEventListener("submit", func);

现在func是事件处理程序本身,它将事件对象作为第一个参数,因为这是事件处理程序获得的.


请注意,箭头功能是:

    匿名,这使得它们在调试器中使用起来变得不那么有用了

    捕获当前值this(对于事件处理程序通常不受欢迎,因为它会阻止您使用this以获取处理程序绑定的元素).

函数声明通常是优选的.

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有