jQuery .submit() 无论如何都不会执行

发布于 2024-10-20 23:27:49 字数 403 浏览 2 评论 0原文

我有一个页面,其中包含两个表单,两个表单都有一个唯一的 ID。我需要在提交任一表单时使页面淡出。然而,这是行不通的。

这是代码

$(document).ready(function(){
        $('#container').fadeOut(0);
        $('#container').fadeIn(500);
    });

    $('form').submit(function(){
        alert("Hello.");
        $('#container').fadeOut(500);
    });

正如您从代码中看到的,它应该显示警报,但它没有,甚至没有淡出页面。 我的表单包含一个设置为只读的文本输入和一个提交按钮。

提前致谢。

I have a page which contains two forms, both with an unique ID. I need to make the page fade out when either of the forms is submitted. However, it won't work.

Here's the code

$(document).ready(function(){
        $('#container').fadeOut(0);
        $('#container').fadeIn(500);
    });

    $('form').submit(function(){
        alert("Hello.");
        $('#container').fadeOut(500);
    });

As you can see from the code, it should show an alert but it does not, and it doesn't even fade out the page.
My forms contain a text input, which is set to readonly, and a submit button.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

寄风 2024-10-27 23:27:49

试试这个:

$(document).ready(function(){
    $('#container').fadeOut(0);
    $('#container').fadeIn(500);

    $('form').submit(function(e){
        e.preventDefault();
        var form = this;
        $('#container').fadeOut(500, function() { 
            form.submit();
        });       
    });
});

提交绑定在文档之外准备就绪,并且在执行时可能找不到表单标记。

jsfiddle 示例 - http://jsfiddle.net/KbaG3/

Try this:

$(document).ready(function(){
    $('#container').fadeOut(0);
    $('#container').fadeIn(500);

    $('form').submit(function(e){
        e.preventDefault();
        var form = this;
        $('#container').fadeOut(500, function() { 
            form.submit();
        });       
    });
});

The submit binding was outside of the document ready and it probably couldn't find the form tag when it was executed.

jsfiddle example - http://jsfiddle.net/KbaG3/

寄人书 2024-10-27 23:27:49

您可能应该将提交事件注册函数移至文档就绪函数内部,以便在注册该函数之前确保 DOM 已准备好。

如果这没有帮助,请查看页面上是否抛出任何可能会停止执行的 JavaScript 错误。

You should probably move the submit event register function to inside the document ready function so that you can be sure the DOM is ready before registering the function.

If that doesn't help, see if there are any javascript errors being thrown on the page which might halt the execution.

凉城 2024-10-27 23:27:49

除非您将此 JS 包含在页面底部,否则应将 $(form).... 代码移至 $(document).ready() block

$(document).ready(function(){
        $('#container').fadeOut(0);
        $('#container').fadeIn(500);


    $('form').submit(function(){
        alert("Hello.");
        $('#container').fadeOut(500);
    });
});

这是因为当您将事件绑定到元素时,您的元素不存在

Unless you're including this JS at the bottom of the page, you should move the $(form).... code inside the $(document).ready() block

$(document).ready(function(){
        $('#container').fadeOut(0);
        $('#container').fadeIn(500);


    $('form').submit(function(){
        alert("Hello.");
        $('#container').fadeOut(500);
    });
});

This is because your element doesn't exist when you are binding the event to it

瀞厅☆埖开 2024-10-27 23:27:49

尝试:

jQuery(function($){
    $('#container').hide().fadeIn(500);

    $('form').submit(function(){
        alert("Hello.");
        $('#container').fadeOut(500);
    });
});

我认为这是一个更干净的代码,而且也没有冲突证明。

Try:

jQuery(function($){
    $('#container').hide().fadeIn(500);

    $('form').submit(function(){
        alert("Hello.");
        $('#container').fadeOut(500);
    });
});

I think is a cleaner code and and also no conflict proof.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文