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 に答える