0

画像のアップロードに問題があります。1 つのスクリプトを使用して、さまざまな HTML 要素から画像をアップロードしたいと考えています。以下は私の HTML です。

<div id="upload_1" class="image_upload" onclick="loadimg_new(this)">
<span id="uploadbutton_1" style="display:block"><?php echo Upload; ?></span>
<img id="loading_1" style="display:none;" src="images/uploading.gif" />
</div>

<div id="upload_2" class="image_upload" onclick="loadimg_new(this)">
<span id="uploadbutton_2" style="display:block"><?php echo Upload; ?></span>
<img id="loading_2" style="display:none;" src="images/uploading.gif" />
</div>

スクリプトのアップロードが使用されている間

<script type="text/javascript" src="script/ajaxupload.3.5.js" ></script>
<script type="text/javascript">
function loadimg_new(obj)
{

    var uploadId = obj.id;
    var imgFieldNameArray = uploadId.split('_');
    var imgFieldName = imgFieldNameArray[1];

    new AjaxUpload(uploadId, 
    {

        action: 'ajaximage.php?img_id='+window.uploadId,
        name: 'uploadfile',


        onSubmit: function(file, ext)
        {
             if (! (ext && /^(jpg|png|jpeg|gif|docx|doc|xls|xlsx|ppt|pptx)$/.test(ext)))
             { 
                alert('Only JPG, PNG, GIF, DOC, XLS or PPT files are allowed');
                return false;
            }

            document.getElementById('uploadbutton_'+imgFieldNameArray[1]).style.display = "none";
            document.getElementById('loading_'+imgFieldNameArray[1]).style.display = "block";

        },
        onComplete: function(file, response)
        {
            document.getElementById('uploadbutton_'+imgFieldNameArray[1]).style.backgroundColor="#000000"
            document.getElementById('uploadbutton_'+imgFieldNameArray[1]).innerHTML = "Uploaded";
            document.getElementById('uploadbutton_'+imgFieldNameArray[1]).style.display = "block";
            document.getElementById('loading_'+imgFieldNameArray[1]).style.display = "none";
            var imageName = response;
            if(response=='error')
            {
                alert('ERROR-Failed to upload file. Try again.');
            }
            else
            {
                document.getElementById('myimage_'+imgFieldName).value = imageName;
            }
        }
    });

}

これは正常に機能していますが、最初にダブルクリックしてアップロード スクリプトを実行する必要があります。ajaxuploading 関数に渡される ID を動的にしたいので、このスクリプトを「upload_1」または「upload_2」などで実行できるようにします。

4

0 に答える 0