onsubmit 调用的函数从未到达
function called by onsubmit never reached
可能是一个愚蠢的疏忽,但我有一个类似于此的 HTML 表格:
<form onsubmit="updateProfile();">
<input type="submit" value="Update Account">
..
...
</form>
并且:
function updateProfile() {
// never gets here
};
我在 updateProfile()
函数中设置了一个断点,但是当我单击 Update Account
按钮时它永远不会到达那里。
谁能给我一个可能的解释?
看来我无法重现你的问题,看这里是不是很相似?
根据标准,没有 action 属性的表单不是表单 - 实际上会导致某些浏览器重新加载页面。
为避免此行为更新来自
<form onsubmit="updateProfile();">
至
<form onsubmit="updateProfile(); return false;">
<form onsubmit="updateProfile(event);">
<input type="submit" value="Update Account">
..
...
</form>
function updateProfile(e) {
e.preventDefault();
alert("it gets here buddy");
};
<form id="myForm">
<input type="submit">
</form>
然后在 javascript 你可以这样做
$('#myForm').on('submit', function(event){
event.preventDefault();
updateProfile();
});
并且不要忘记导入 jquery 库 :)
可能是文档某处的点击处理程序处于活动状态,捕捉点击事件,防止默认操作发生(返回 false
或使用 event.preventDefault()
),因此 submit
事件永远不会从表单触发。
可能是一个愚蠢的疏忽,但我有一个类似于此的 HTML 表格:
<form onsubmit="updateProfile();">
<input type="submit" value="Update Account">
..
...
</form>
并且:
function updateProfile() {
// never gets here
};
我在 updateProfile()
函数中设置了一个断点,但是当我单击 Update Account
按钮时它永远不会到达那里。
谁能给我一个可能的解释?
看来我无法重现你的问题,看这里是不是很相似?
根据标准,没有 action 属性的表单不是表单 - 实际上会导致某些浏览器重新加载页面。
为避免此行为更新来自
<form onsubmit="updateProfile();">
至
<form onsubmit="updateProfile(); return false;">
<form onsubmit="updateProfile(event);">
<input type="submit" value="Update Account">
..
...
</form>
function updateProfile(e) {
e.preventDefault();
alert("it gets here buddy");
};
<form id="myForm">
<input type="submit">
</form>
然后在 javascript 你可以这样做
$('#myForm').on('submit', function(event){
event.preventDefault();
updateProfile();
});
并且不要忘记导入 jquery 库 :)
可能是文档某处的点击处理程序处于活动状态,捕捉点击事件,防止默认操作发生(返回 false
或使用 event.preventDefault()
),因此 submit
事件永远不会从表单触发。