2012-05-13 3 views
0

У меня есть PHP скрипт ниже известный как cancelimage.php, где он будет отображать сообщение об отмене:как отобразить правильное сообщение?

<?php 

$image_file_name = $_FILES['fileImage']['name'] ; 

    echo "$image_file_name Upload was Canceled"; 


?> 

Проблема заключается в том, что при нажатии на кнопку «Отмена», он не показывать это сообщение. Вместо этого отображается сообщение «Во время загрузки файла произошла ошибка». Я верю, что причиной этого сообщения является то, что я заявляю «return stopImageUpload».

Итак, каков мой вопрос: как я могу вернуться к stopImageUpload, как сейчас, но вместо этого можно отображать сообщение отмены вместо сообщения, которое оно отображает сейчас?

Ниже приведена моя текущая попытка попытаться исправить это, но сбой. Ниже показано как отменить функцию, и функция stopImageUpload:

var cancelimagecounter = 0; 
function startImageUpload(imageuploadform, imagefilename) { 
    cancelimagecounter++; 
    var _cancelimagecounter = cancelimagecounter; 
    $('.imageCancel').on("click", function (event) { 
     $('.upload_target').get(0).contentwindow 
     $("iframe[name='upload_target']").attr("src", "javascript:'<html></html>'"); 
     jQuery.ajax("cancelimage.php?fileImage=" + image_file_name).done(function (data) { 
      $(".imageemsg" + _cancelimagecounter).html(data); 
     }); 
     return stopImageUpload(); 
    }); 
    return true; 
} 
var imagecounter = 0; 
function stopImageUpload(success, imagefilename) { 
    var result = ''; 
    if (success == 1) { 
     result = '<span class="imagemsg' + imagecounter + '">The file was uploaded successfully!</span><br/><br/>'; 
     $('.listImage').eq(window.lastUploadImageIndex).append('<div>' + htmlEncode(imagefilename) + '<button type="button" class="deletefileimage" image_file_name="' + imagefilename + '">Remove</button><br/><hr/></div>'); 
    } else { 
     result = '<span class="imageemsg">There was an error during file upload!</span><br/><br/>'; 
    } 
    return true; 
} 

ответ

0

Предисловие: Ajax это не мой конек .....

Вы полагаетесь на PHP, чтобы тянуть имя файла ... но PHP не может получить имя файла до начала загрузки. Вам нужно вытащить имя файла из DOM (кнопка ввода), если вы хотите отобразить имя файла без фактической загрузки.

$('input:file').change(function(){ 
    if ($(this).val()) { 
    var filename = $(this).val().replace('C:\\fakepath\\', ''); 
    } 
    $('.imageemsg').html('<p>this is the filename' + filename + '</p>'); 
}); 
Смежные вопросы