0

我想在不重新加载页面的情况下提交表单,并使用 $.post 将数据传递到外部 php 文件。我在防止表单提交时重新加载页面时遇到问题。单击提交按钮后如何取消重新加载?

这是代码:

<script>
    $(document).ready(function(e){
        $("#formajax").live("submit", function(e){
            var $this = $(this);
            e.preventDefault();
            $.post("process.php", $this.serialize(), function(data){
                alert("DATA PASSED!");
            });
            return false;
        })
    })
</script>

<form method="post" action="" id="formajax">
    <input type="text" id="samplefield" name="samplefield" value=""/>
    <input type="submit" value="Submit"/>
</form>

谢谢!

4

1 回答 1

1

我不熟悉该live方法对 jQuery 的作用,但它似乎是您问题的根源。如果您替换livebind,在我的测试中,页面不会重新加载,并且我会收到“数据通过”提示。

    <script>
            $(document).ready(function(e){
                    $("#formajax").bind("submit", function(e){
                            var $this = $(this);
                            e.preventDefault();
                            $.post("index.php", $this.serialize(), function(data){
                                    alert("DATA PASSED!");
                            });
                            return false;
                    })
            })
    </script>

    <form method="post" action="" id="formajax">
            <input type="text" id="samplefield" name="samplefield" value=""/>
            <input type="submit" value="Submit"/>
    </form>
于 2012-06-04T02:48:22.243 回答