繁体   English   中英

event.preventdefault错误

[英]Errors with event.preventdefault

这不行

JS:

var currentPath = window.location.pathname;
    var currentPage = currentPath.substring(currentPath.lastIndexOf('/') + 1);

        $(function() { 

            $("#shoutBox").submit(function(event) {
                event.preventDefault();

                var values = $('#shoutBox').serialize();

                $.post("shoutbox.php", values)

                .done(function(data) {
                    $('input:text[name=shout]').val("JE SHOUT IS GEPOST! WACHT 1 MINUUT!");
                    $('input:text[name=shout]').attr('readonly', true);
                    setTimeout(
                        function() 
                        {
                            $('input:text[name=shout]').val("JE KAN EEN NIEUWE SHOUT MAKEN!");
                            $('input:text[name=shout]').attr('readonly', false);
                        }, 60000);
                });
            });
        });

        $(function() {
            $("#newName").submit(function(event) {
                event.preventDefault();

                var valuen = $('#newName').serialize();

                $.post("shoutbox.php", valuen)

                .done(function(data) {
                    reload();
                });
            });
        });

    function to_new_page(link)
    {
        $("#content").fadeOut(function()
            {
                $(this).load(link+" #content", function()
                {
                    $(this).fadeIn();
                })
            });
        history.pushState({change: "page"}, "RandomRadio", "/"+link);
    }

    function reload()
    {
        to_new_page(currentPage);
    }

表格#shoutBox成功运行。
但是,当我两次提交表单#newName时,它将刷新页面。

也许是因为您的.done调用了reload()吗?

不过,我会添加return false;

$("#newName").submit(function(event) {
            event.preventDefault();

            var valuen = $('#newName').serialize();

            $.post("shoutbox.php", valuen)

            .done(function(data) {
                reload();
            });
            return false;
        });

并且,请修正您的报价。 选择单引号或双引号并坚持使用。

我有一个解决方法:)

我在提交按钮中添加了一个ID,并使用了它

$("#submitshout").live("click", function(event){

代替

$("#shoutBox").submit(function(event) {

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM