0

モーダルウィンドウで画像アップローダーを作成しました..正常に動作しています。モーダルが開き、画像をアップロードすると、1 つの画像が保存され、正常に動作します!! 次に、モーダルを閉じて再度開き、モーダルで画像を表示しようとすると、重複した画像が2〜4回ランダムに保存されるため、問題が発生します。保存されたイベントが原因であると考えられたので、preventDefault を試しましたが機能しませんでした..または、この ajax 呼び出しを完全に破棄できる方法はありますか? この問題を解決するためのあなたの意見は何ですか?

アヤックス

<script type='text/javascript'>
$(document).ready(function() { 
    $('#form').live('change', function(event){
        event.preventDefault();
        $.ajax({
            type: 'POST',
            url: 'uploadajax.php',
            beforeSend: function(){
                $('#throw').html("working..");
            },
            success: function(data){
                $('#form').ajaxForm({                  
                    target: '#throw',
                }).submit();
            }
        });
        e.preventDefault();
        return false;
    });
});

サーバ側

<?php
$path = "upload/";

if ($_FILES["image"]["type"] == "") {
    echo 'no file';
} else {

    if ((($_FILES["image"]["type"] == "image/gif")
            || ($_FILES["image"]["type"] == "image/jpeg")
            || ($_FILES["image"]["type"] == "image/jpg")
            || ($_FILES["image"]["type"] == "image/pjpeg")
            || ($_FILES["image"]["type"] == "image/x-png")
            || ($_FILES["image"]["type"] == "image/png"))) {

        if ($_FILES["image"]["type"] == "image/gif") {
            $ext = 'gif';
        }
        if ($_FILES["image"]["type"] == "image/jpeg") {
            $ext = 'jpeg';
        }
        if ($_FILES["image"]["type"] == "image/jpg") {
            $ext = 'jpg';
        }
        if ($_FILES["image"]["type"] == "image/pjpeg") {
            $ext = 'jpeg';
        }
        if ($_FILES["image"]["type"] == "image/x-png") {
            $ext = 'png';
        }
        if ($_FILES["image"]["type"] == "image/png") {
            $ext = 'png';
        }

        $img_url1 = rand(111111, 999999) . time() . substr(str_replace(" ", "_", 9999), 1);

        $img_url1 = $img_url1;

        $tmp = $_FILES['image']['tmp_name'];
        if (move_uploaded_file($tmp, $path . $img_url . "." . $ext)) {



            $link = $path . $img_url;

            $link1 = "$link.$ext";

            unset($tmp);
        }
    } else {
        echo 'Invalid file error';
    }
}
?>

モーダル ウィンドウ

<script type='text/javascript'>
$(document).ready(function() { 
    $('.uploadme').click(function(event){
        event.preventDefault();
        $.ajax({
            type: 'POST',
            url: 'uploadbox.php',
            beforeSend: function(data){
                box.dialog({
                    message: "Setting up upload box",
                    animate: false,
                    title: "<center>Upload Box</center>"
                });
            },
            success: function(data){
                box.hideAll()
                box.dialog({
                    animate: false,
                    message: data,
                    title: "<center>Upload Box</center>"
                });
            }
        });
        return false;
        e.preventDefault();
    });
});

4

0 に答える 0