0

我有这样的表格:

<form method="post" action="/WebApp/forgotpassword" id="forgot-password">
    <input type="email" name="email" id="email">
    <input type="submit" value="Submit" id="submitBtn">
</form>

使用以下 jQuery 1.7.2 代码:

$('form#forgot-password').on('submit', function(e) {
    console.debug('Form submit');
    e.preventDefault();
    return false;
});

果然,我点击了Submit按钮,然后在控制台中打印出“Form submit”。但是,浏览器(在我的例子中是 Firefox)仍然重定向到 /WebApp/forgotpassword 处的服务返回的 JSON。

我还没有看到任何其他问题似乎表明 jQuery 已损坏,所以我认为我使用错了。

谢谢你的帮助!

4

2 回答 2

2

谢谢你的回答。他们完全正确。这个问题是技术债务的一个很好的例子:

系统远端的某个人直接绑定到所有按钮的点击事件,做了一些手动的 JS 表单验证,然后手动提交父表单。

于 2012-06-03T14:30:35.693 回答
0

是的 preventDefault 将停止事件,您可能还想调用 stopPropagation 。

于 2012-06-01T21:11:29.667 回答