2

我不明白,谷歌没有给我答案。我想上传一个文件,结果显示在没有页面重载的div中,但我无法得到它!!!!

html:

<form method="post" action="process/pic2.php" enctype="multipart/form-data" id="userpic">
<p>Izvēlies bildi: <input type="file" name="img_to_upload" /><input type="submit" name="upload" value="Augšupielādēt" /></p>
</form>

jQuery:

jQuery(function(){
        jQuery('#userpic').submit(function(){
            jQuery.ajax({
                type: 'POST',
                enctype: 'multipart/form-data',
                url: jQuery('#userpic').attr('action'),
                data: jQuery('#userpic').serialize(),
                success: function(data){
                    if(data){
                        jQuery('#picinfo').html(data);
                    }else{
                        jQuery('#uerpic').fadeOut(500);
                        jQuery('#picinfo').html('<center><img src="img/loader.gif" /></center>');
                            window.location = 'index.php';
                    }
                }
            });
            return false;
        });
    });

和我的 php:

if(isset($_FILES['img_to_upload']['name']) && !empty($_FILES['img_to_upload']['name'])){
        echo 'Done!';
    }else{
        echo 'Error!';
    }

一直显示“错误”文本..

PS对不起英语不好。

4

1 回答 1

1

通常,要提交表单并保持在同一页面上,您必须使用 Javascript 阻止默认表单操作,如下所示:

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

但是,通过 Ajax 上传图像非常棘手——请参阅:

使用 jquery $.ajax 和 php 上传文件

于 2012-12-20T20:10:27.660 回答