为什么 Jquery 表单提交事件不触发

Why Jquery form submit event not firing?

本文关键字:事件 Jquery 表单提交 为什么      更新时间:2023-09-26

我正在尝试通过jquery提交表单。我想让我的表单提交事件在 jquery 提交表单时被触发。

但是,当表单提交成功时,不会成功调用提交事件处理程序。

下面是代码:

<html>
<head>
<title>forms</title>
<script src="../common/jquery-1.6.2.min.js"></script>
<script>
$('#testform').submit(function() {
    $.post($(this).attr("action"), $(this).serialize(), function(html) {
        $("#menu").html('<object>'+html+'</object>');
    });
    return false; // prevent normal submit
});
</script> 
</head>
<body>
    <form id="testform" action="<%=getURL%>" method="post" >
        <!-- <input type="hidden" value="DocQrySetup" name=form>
        <input type="hidden" value="bdqdb1" name=config>-->
        <input type="hidden" value="test" name=otherParams>
    </form>
    <script language=javascript>
        $('#testform').submit();
    </script>
<div id="menu" style="position:relative; bottom: 0; overflow:hidden;">
</div>
</body>

我搜索了所有论坛,但无法获得解决方案。

运行第一个脚本时,窗体不存在,因此事件处理程序没有要附加到的内容。

需要将该处理程序移动到窗体之后或将其包装

$(document).ready(function() { 
    $('#testform').submit(function() {
        /* your code */
    });
});

附加事件侦听器时未定义窗体,将代码移动到窗体后面附加事件侦听器的位置,或使用以下命令包装代码:

jQuery(document).ready(function ($) {
    ...
});

并添加一个提交按钮。

...
<input type="submit" value="submit">
...