event.preventdefault出错

时间:2013-01-29 20:05:24

标签: javascript jquery

这不起作用

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两次时,它将刷新页面。

2 个答案:

答案 0 :(得分:0)

也许是因为您的.done来电reload()

尽管如此,我还是会添加return false;

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

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

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

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

请注意,修改你的报价。选择单引号或双引号并坚持下去。

答案 1 :(得分:0)

我有一个修复:)

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


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

而不是


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