Javascript代码没有';当我使用onsubmit而不是onclick时,它不会工作

Javascript代码没有';当我使用onsubmit而不是onclick时,它不会工作,javascript,onsubmit,Javascript,Onsubmit,由于某种原因,代码不起作用;但是,如果我将最后一个替换为 var submit = document.getElementById('submit'), div = document.getElementById('div'); div.onmouseover = function sum() { value1 = document.getElementById('form').value; value1 = document.getElementById('form2

由于某种原因,代码不起作用;但是,如果我将最后一个替换为

var submit = document.getElementById('submit'),
    div = document.getElementById('div');

div.onmouseover = function sum() {
    value1 = document.getElementById('form').value;
    value1 = document.getElementById('form2').value;

    sum = value1 + value2;
}

submit.onsubmit = function print() {
    div.innerHTML = sum;
}

onclick
而不是
onsubmit
,它工作得非常好,即使
sum
是在我按下submit之前在外部计算的。这就好像当我输入submit时,每个变量都变成了
null
,即使变量没有存储在表单字段中。

submit事件处理程序必须附加到
表单
元素,而不是
输入
元素

假设您有一个
表单
,您可以这样做

submit.onclick = function print() {
    div.innerHTML = sum;
}

onsubmit
事件在表单元素而不是按钮上触发。尝试将
onsubmit
处理程序移动到表单中,而不是将
document.getElementById('submit')
作为什么类型的元素<代码>提交事件仅在
表单
元素上触发。@Matthew:“它不工作”不是一个有用的问题或错误描述。我的烤面包机也坏了。请说得更准确些,这样我们就可以提供更好的帮助。HTML会很有用,这样我们就不用猜测了。事实上,演示这个问题可能会确保给出一个好的解决方案。我尝试了form.form.onsubmit,但仍然不起作用。如果我写submit.onclick.submit.form.onsubmit不起作用,它就可以工作;submit.onsubmit不起作用
submit.form.onsubmit = ...