Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 下面如何定义此变量?_Javascript_Jquery - Fatal编程技术网

Javascript 下面如何定义此变量?

Javascript 下面如何定义此变量?,javascript,jquery,Javascript,Jquery,我有一个取消按钮,当用户上传文件时会出现。如果用户希望取消文件上载,则可以单击“取消”按钮,并向用户显示“取消”消息 尝试此操作时唯一的问题是,它表明要显示消息的stopImageUpload函数中未定义cancel_image_file_name。但我确实在startImageUpload函数中定义了这一点。所以我的问题是,如何从startImageUpload函数中获取cancel_image_file_名称,并在stopImageUpload函数中定义它 下面是显示2个功能的代码: sta

我有一个取消按钮,当用户上传文件时会出现。如果用户希望取消文件上载,则可以单击“取消”按钮,并向用户显示“取消”消息

尝试此操作时唯一的问题是,它表明要显示消息的stopImageUpload函数中未定义cancel_image_file_name。但我确实在startImageUpload函数中定义了这一点。所以我的问题是,如何从startImageUpload函数中获取cancel_image_file_名称,并在stopImageUpload函数中定义它

下面是显示2个功能的代码:

startImageUpload功能:

var cancelimagecounter = 0;

function startImageUpload(imageuploadform, imagefilename){

    cancelimagecounter++;

            var _cancelimagecounter = cancelimagecounter;

    $('.imageCancel').on("click", function(event) {
        var cancel_image_file_name = $(this).attr('cancel_image_file_name');

    return stopImageUpload(2, cancel_image_file_name);

});       
      return true;
}
var imagecounter = 0;

function stopImageUpload(success, imagefilename){

      var result = '';
      imagecounter++;

      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 if (success == 2){
          result = '<span class="imageemsg">' + cancel_image_file_name + ' Upload Was Cancelled!</span><br/><br/>';
      }
      else {
         result = '<span class="imageemsg">There was an error during file upload!</span><br/><br/>';
      }


      return true;   
}
stopImageUpload功能:

var cancelimagecounter = 0;

function startImageUpload(imageuploadform, imagefilename){

    cancelimagecounter++;

            var _cancelimagecounter = cancelimagecounter;

    $('.imageCancel').on("click", function(event) {
        var cancel_image_file_name = $(this).attr('cancel_image_file_name');

    return stopImageUpload(2, cancel_image_file_name);

});       
      return true;
}
var imagecounter = 0;

function stopImageUpload(success, imagefilename){

      var result = '';
      imagecounter++;

      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 if (success == 2){
          result = '<span class="imageemsg">' + cancel_image_file_name + ' Upload Was Cancelled!</span><br/><br/>';
      }
      else {
         result = '<span class="imageemsg">There was an error during file upload!</span><br/><br/>';
      }


      return true;   
}
var-imagecounter=0;
函数stopImageUpload(成功,imagefilename){
var结果=“”;
imagecounter++;
如果(成功==1){
结果='文件已成功上载!

'; $('.listImage').eq(window.lastUploadImageIndex).append(''+htmlEncode(imagefilename)+'Remove

); } 否则如果(成功==2){ 结果=''+取消图像文件名+'上载已取消!

; } 否则{ 结果='上传文件时出错!

'; } 返回true; }
在JavaScript中变量具有函数级作用域,要在其他函数中也获得
取消图像文件名
,请在两个函数之外定义它


顺便说一句,您可以从
stopmageupload
函数中使用
imagefilename
,因为您已经将其传递给该函数:

return stopImageUpload(2, cancel_image_file_name);
因此,在您的
stopImageUpload
函数中,更改行:

result = '<span class="imageemsg">' + cancel_image_file_name + ' Upload Was Cancelled!</span><br/><br/>';
result=''+取消图像文件名+'上载已取消

致:

result=''+imagefilename+'上载已取消


在JavaScript中变量具有函数级作用域,要在其他函数中也获得
取消图像文件名
,请在两个函数之外定义它


顺便说一句,您可以从
stopmageupload
函数中使用
imagefilename
,因为您已经将其传递给该函数:

return stopImageUpload(2, cancel_image_file_name);
因此,在您的
stopImageUpload
函数中,更改行:

result = '<span class="imageemsg">' + cancel_image_file_name + ' Upload Was Cancelled!</span><br/><br/>';
result=''+取消图像文件名+'上载已取消

致:

result=''+imagefilename+'上载已取消


您已经将该值作为第二个参数传递给“stopImageUpload”、“imagefilename”。就用这个吧


实际上,在同一个函数的其他地方,您正在使用该参数。

您已经将该值作为第二个参数传递给了“stopImageUpload”、“imagefilename”。就用这个吧


事实上,在同一函数的其他地方,您正在使用该参数。

按如下方式重新构造代码:

(function() {
    var cancelimagecounter = 0,
        imagecounter = 0,
        cancel_image_file_name;
    window.startImageUpload = function(imageuploadform,imagefilename) {
        ...
            cancel_image_file_name = ... // (remove the var)
        ...
    };
    window.stopImageUpload = function(success,imagefilename) {
        ...
        // cancel_image_file_name is not undefined now.
    };
})();

按如下方式重新构造代码:

(function() {
    var cancelimagecounter = 0,
        imagecounter = 0,
        cancel_image_file_name;
    window.startImageUpload = function(imageuploadform,imagefilename) {
        ...
            cancel_image_file_name = ... // (remove the var)
        ...
    };
    window.stopImageUpload = function(success,imagefilename) {
        ...
        // cancel_image_file_name is not undefined now.
    };
})();

嗨,谢谢你,这已经删除了错误。我只有一个小问题,对于imagefilename,它显示“未定义”。例如,如果我试图取消文件“Tulips.png”,那么它应该显示“Tulips.png Upload Was Canceled”,但它显示的是“undefined Upload Was Canceled”,你知道这是为什么吗?@user1391585:确保此行
var cancel\u image\u file\u name=$(this).attr('cancel\u image\u file\u name')
返回一些值。嗨,谢谢,这已经消除了错误。我只有一个小问题,对于imagefilename,它显示“未定义”。例如,如果我试图取消文件“Tulips.png”,那么它应该显示“Tulips.png Upload Was Canceled”,而不是显示“undefined Upload Was Canceled”,你知道为什么吗?@user1391585:确保此行
var cancel\u image\u file\u name=$(this).attr('cancel\u image\u file\u name')
返回一些值。