jQuery表单提交事件无效

时间:2012-04-14 12:02:20

标签: javascript jquery javascript-events form-submit

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

我的javascript:

[OFC。包括最新的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代码,它应该工作(我的意思是它应该阻止默认操作[提交表单]然后发送警报),但这一切都行不通 - 尝试了数以千计的组合,但我失败了。伙计们,我在等你的解决方案。我很感激每一个人。

4 个答案:

答案 0 :(得分:3)

你可能有一些语法错误或其他地方的错误,因为what you have just works

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

P.S。我会考虑后一个代码,以确保在尝试附加事件之前元素在DOM中。

答案 1 :(得分:1)

对于遇到相同问题且仍在努力解决此问题的其他人,请尝试查看您是否非法重复使用该ID ,并尝试将表单ID更改为唯一即可。

我不小心将id分配给两个不同的DOM元素,并且事件被绑定到具有相应id的第一个元素,而我的表单是第二个,因此它从未被捕获。这让我长时间地拉扯我的头发。

答案 2 :(得分:0)

我最近遇到了同样的问题。提交时的jQuery无法在表单上运行,但是只需将其更改为click事件即可。仍然茫然为什么.on(submit).submit()事件将无法识别表格。

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

答案 3 :(得分:0)

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