如何阻止Jquery ajaxForm()刷新页面?

时间:2012-09-19 11:15:40

标签: jquery ajaxform

我有一个表单,我一直在使用.ajax()成功提交而没有页面刷新,但我修改了我的表单以包含上传字段而且没有上传。所以我尝试使用ajaxForm()方法,它可以发布和上传,但它会刷新页面。如何阻止它刷新页面?

我试图将返回false视为错误,它会使提交完全停止。

这是我到目前为止所拥有的

        var options = {
            target:     '#post',
            url:        '<?php echo $linkr; ?>',
            success:    function() {
                $("#post").load("<?php echo $linkr; ?>");
            }
        };
        $("form").submit(function () { 
        $(this).ajaxForm(options); 
        return false;
        });

此代码转到空白页但发布并上传:

             var options = {
                target:     '#post',
                url:        '<?php echo $linkr; ?>',
                success:    function(result) {
                    $("#post").html(result);
                }
            };
            $("form").ajaxForm(options); 

重申一下,我需要它来发布和上传没有页面刷新。使用.ajax()完成此操作但不上传。使用preventDefault不起作用,或者我使用它错了。

3 个答案:

答案 0 :(得分:1)

使用preventDefault()

$("form").submit(function (e) { 
    e.preventDefault();
    $(this).ajaxForm(options); 
});

答案 1 :(得分:0)

尝试这样的事情让我知道 -

   var options = {
        target:     '#post',
        url:        '<?php echo $linkr; ?>',
        success:    function(result) {
            $("#post").html(result);
        }
    };

答案 2 :(得分:0)

基本上你的问题是浏览器不支持正常上传文件而不重新加载页面。可以使用HTML5或flash。

您可以阅读本教程以了解如何使用HTML5实现ajax文件上传 http://net.tutsplus.com/tutorials/javascript-ajax/uploading-files-with-ajax/

或者您可以使用http://www.uploadify.com/

等插件