2

我不知道这有什么问题,因为我在每一步都遵循 jquery.com 关于表单提交事件的教程。

我的Javascript:

[办公室。包括最新的 jQuery 库]。

<script type="text/javascript">
$("form#addFav").submit(function(event) { event.preventDefault(); alert("hello"); });
</script>

还尝试了该$(document).ready()事件:

$(document).ready(function(){
$("form#addFav").submit(function(event) { event.preventDefault(); alert("hello"); });
});

这是我的 HTML 表单代码:

<form action="" id="addFav">
     <input type="text" name="name" class="thin-d"/>
     <input type="submit" value="Send"/>
</form>

所以,关于上面的 Javascript 代码,它应该可以工作(我的意思是它应该阻止默认操作 [提交表单] 然后发送警报),但这一切都不起作用 - 尝试了数千种组合,但我失败了'd。所以我在等你的解决方案。我会很感激每一个人。

4

4 回答 4

3

您可能在其他地方有一些语法错误或类似的东西,因为您所拥有的只是工作

你确定没有任何JS错误吗?

PS 在尝试附加事件之前,我总是会选择后一个代码以确保元素位于 DOM 中。

于 2012-04-14T12:05:19.370 回答
1

对于遇到相同问题并且仍在努力解决此问题的其他人,请尝试查看您是否非法重用了 id,并尝试将表单 id 更改为unique

我不小心将 id 赋予了两个不同的 DOM 元素,并且事件被绑定到具有各自 id 的第一个元素,而我的表单是第二个元素,因此它从未被捕获。这让我长时间安静下来。

于 2014-06-14T10:17:38.383 回答
0

我最近遇到了同样的问题。提交时的 Jquery 不适用于表单,但只需将其更改为单击事件即可。还是不知道为什么.on(submit).submit()事件会认不出表格。

$("form#addFav").click(function (event) {
    event.preventDefault(); alert("hello");
    $(this).submit();
});

于 2018-06-22T14:21:10.073 回答
0

这个问题很老,但是..您可能在触发之前触发了另一个提交事件。如果这些其他事件包含“return false”;声明然后事件执行被中断并且您的代码从未触发。要将代码放在这些事件之前,您可以使用 ONSUBMIT 表单属性,您可以在其中放置将在其他事件之前或同时触发的代码。

于 2018-12-12T02:37:04.940 回答