onsubmit调用的函数从未到达

function called by onsubmit never reached

本文关键字:函数 调用 onsubmit      更新时间:2023-09-26

可能是一个愚蠢的疏忽,但我有一个类似的HTML表单:

<form onsubmit="updateProfile();">
    <input type="submit" value="Update Account">
    ..
    ...
</form>

:

function updateProfile() {
    // never gets here
};

我在updateProfile()函数中设置了一个断点,但是当我单击Update Account按钮时,它永远不会到达那里。

谁能给我一个合理的解释?
<form id="myForm">
    <input type="submit">
</form>

那么在javascript中你可以这样做

$('#myForm').on('submit', function(event){
    event.preventDefault();
    updateProfile();
});

,不要忘记导入jquery库:)

根据标准,没有action属性的表单不是表单,实际上在某些浏览器中会导致页面重新加载。

要避免从

更新此行为
<form onsubmit="updateProfile();">

<form onsubmit="updateProfile(); return false;">

似乎我不能重现你的问题,看看这里是类似的吗?

codepen http://codepen.io/icrosil/pen/bdXyPL

<form onsubmit="updateProfile(event);">
<input type="submit" value="Update Account">
..
...
</form>
function updateProfile(e) {
e.preventDefault();
 alert("it gets here buddy");
};

可能是一个点击处理程序在文档的某个地方是活跃的,捕获点击事件,防止默认动作发生(返回false或使用event.preventDefault()),因此submit事件永远不会从表单触发。