Jquery 捕获表单提交不起作用

Jquery 捕获表单提交不起作用,jquery,html,ajax,forms,Jquery,Html,Ajax,Forms,我尝试了几个示例来捕获表单的提交,但我得到的只是重新加载页面 jQuery(document).ready(function($) { var frm = $('#export-form'); //Catch the submit frm.submit(function(ev) { console.log("Here I am") //Not visible in Firebug // Prevent reload ev.

我尝试了几个示例来捕获表单的提交,但我得到的只是重新加载页面

jQuery(document).ready(function($)
{
    var frm = $('#export-form');
    //Catch the submit
    frm.submit(function(ev) {
        console.log("Here I am")  //Not visible in Firebug
        // Prevent reload
        ev.preventDefault();

        $.ajax({
            type        : 'POST', 
            url         : 'libs/GenerateCSV.php', 
            data        : 'export', 
            success     : function (data) {
                alert('success'); // Temporary debugging, later a redirection is planned
            }
        });
    });
});
但脚本从未执行过。 我尝试过使用onsubmit调用,但得到了相同的结果。
有人能帮我吗?

您的代码示例看起来没有什么问题

是否确保在脚本之前加载jQuery

此外,您还可以将代码包装在
文档中。ready
语句:

jQuery(document).ready(function($)
{
    // your code goes here
});
试试这个方法

<!-- Include jQuery before this code -->
<form id="export-form" method="post" accept-charset="utf-8">
    <a id="submit-form" href="#">Start Download</a>
</form>

<script type="text/javascript">

    $(document).ready(function() {
        $("#submit-form").click(function(){
            $.ajax({
                type        : 'POST', 
                url         : 'libs/GenerateCSV.php', 
                data        : 'export',
                success     : function (data) {
                    alert('success');//Just for debugging, later a redirection to a file is planned 
                }
            });
        });
    });
</script>

$(文档).ready(函数(){
$(“#提交表单”)。单击(函数(){
$.ajax({
键入:“POST”,
url:'libs/GenerateCSV.php',
数据:“导出”,
成功:功能(数据){

警报('success');//只是为了调试,计划稍后重定向到文件 } }); }); });

锚定标记不会自动提交您的表单并重定向您。我总是使用此解决方案提交表单而不重定向。您可以在成功事件上重定向到任何您想要的位置。希望它能对您有所帮助。

检查您的HTML代码,我想您可能会在
中单击
onClick
,如下所示:

<input type="submit" value="submit" onClick="this.form.submit(); this.disabled=true; this.value='waiting ...'; ">


JavaScript控制台中是否显示任何错误消息?(请确保将控制台设置为跨重新加载保存消息,以便可以看到它们)“稍后计划重定向到文件”-Ajax的要点是在不加载全新文件的情况下更新内容。如果要重定向,为什么不使用常规表单提交?据我所知,我没有收到任何错误消息,因为代码从未执行过。你说定期提交表格是什么意思?我必须首先调用php脚本来生成文件,然后我想下载它。我的想法是让js代码在短时间内休眠,然后重定向到存储的文件,以处理mysql的任何延迟。你有一张表格。您有一个提交按钮。您没有任何JavaScript。如果没有错误消息,那么我不明白为什么这不起作用。(假设问题中的代码准确地反映了您正在测试的代码)脚本位于表单之后。使用ready处理程序不会有任何区别。我已经尝试了这两种方法,并在frm提交中添加了一个控制台日志,但该站点仍在重新加载。