![](/img/trans.png)
[英]Vanilla javascript form validations, how to undo prevent default on submit
[英]How to prevent default on form submit?
如果我这样做,我可以防止表单默认提交就好了:
document.getElementById('my-form').onsubmit(function(e) {
e.preventDefault();
// do something
});
但是由于我以模块化方式组织我的代码,所以我正在处理这样的事件:
document.getElementById('my-form').addEventListener('onsubmit', my_func);
var my_func = function() {
// HOW DO I PREVENT DEFAULT HERE???
// do something
}
我现在如何防止默认?
同样的方式,其实! 演示
一些 HTML
<form id="panda" method="post">
<input type="submit" value="The Panda says..."/>
</form>
你的 JavaScript
// your function
var my_func = function(event) {
alert("me and all my relatives are owned by China");
event.preventDefault();
};
// your form
var form = document.getElementById("panda");
// attach event listener
form.addEventListener("submit", my_func, true);
注意:当使用.addEventListener
你应该使用submit
而不是onsubmit
。
注 2:由于定义my_func
的方式,在定义函数后调用addEventListener
很重要。 JavaScript 使用提升,因此在使用var
定义函数时需要注意事物的顺序。
阅读有关addEventListener和EventListener接口的更多信息。
您所要做的就是向您的函数添加一个参数并在其中使用它。
var my_func = function(event) {
event.preventDefault();
}
里面的参数现在代表来自 addEventListener 的参数。
我知道这是旧的,但只是为了它。 尝试
document.getElementById('my-form').addEventListener('onsubmit',
function(event){event.preventDefault();my_func();});
var my_func = function() {
// HOW DO I PREVENT DEFAULT HERE???
// do something
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.