将事件endler放在我的javascript中的Submit上

将事件endler放在我的javascript中的Submit上,javascript,forms,validation,onsubmit,Javascript,Forms,Validation,Onsubmit,我有这张登记表。我认为它工作得很好,但是否有可能在JS页面中以某种方式获取事件处理程序onsubmit 我是说 我可以在表单上有一个id并将onsubmit放在JS中吗?例如document.getElementById(“表单id”).onsubmit() Html 你当然可以,就这么做吧 document.getElementById("form id").addEventListener('submit', function(e) { if (!ValidateForm()) e.

我有这张登记表。我认为它工作得很好,但是否有可能在JS页面中以某种方式获取事件处理程序onsubmit

我是说

我可以在表单上有一个id并将onsubmit放在JS中吗?例如
document.getElementById(“表单id”).onsubmit()

Html

你当然可以,就这么做吧

document.getElementById("form id").addEventListener('submit', function(e) {
    if (!ValidateForm()) e.preventDefault();
}, false);
并将脚本放在DOM中表单的后面


太好了,我只是不知道该放在哪里。不明白在DOM中的表单之后“感谢您的小提琴表单仍然有onsubmit=”return ValidateForm()在html中而不是id中?很抱歉有个新问题,但我是新的:)哦,复制粘贴,然后忘记更改。更新了小提琴。这很奇怪,它在你的小提琴中效果很好,但在我的代码中效果不好。即使我将代码复制到新文档中,也会出现“警报”弹出窗口“不行。嗯,我想知道我做错了什么……你把它放在DOM中的元素之后,就像在包含javascript的脚本标记中一样,放在表单和javascript中访问的任何其他元素之后。
function ValidateForm()
{
    var name = document.getElementById ("name");

    if (name.value.length == 0) {
        alert ("Enter a name.");
        return false;
    }
    var email = document.getElementById('email').value;
    var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;

    if (!filter.test(email)) {
        alert("Invalid Email");
        return false;
    }
    alert("Thank you!");
    return true;
}
document.getElementById("form id").addEventListener('submit', function(e) {
    if (!ValidateForm()) e.preventDefault();
}, false);