在一个页面上上传了许多单独的ajax图像

时间:2012-12-04 09:16:49

标签: javascript jquery ajax image-upload

我有一个ajax上传脚本,但它似乎只适用于一次上传一个图片。我的问题是,我正在创建一个商店CMS,其中一个页面需要大量的图像上传,它的产品,所以产品有拇指,和其他4个图像。

通常我使用这个脚本:

 $(document).ready(function(){


      var btnUpload=$('#upload');
      var status=$('#swaptd');
      $('#hideimg').hide();
      new AjaxUpload(btnUpload, {
            action: 'upload-file-notes.php',
            name: 'uploadfile',
            onSubmit: function(file, ext){
           if (! (ext && /^(jpg|png|gif|pdf|doc)$/.test(ext))){ 
           // extension is not allowed 
                                                                              status.text('File format not supported!');
                   return false;
                                                                }
                                                                //status.text('Uploading...');
                  $('#hidebtn').hide();
                                                            $('#hideimg').show();
                    },
              onComplete: function(file, response){
              //alert(response);
              var mytext = response.split('#');
               //Add uploaded file to list
           if(mytext[0]==="success"){
                    str =mytext[1];
             newid = str.substring(0, str.length - 5);                                                                           $('#myfilename').html(mytext[1]);                                                                     document.daftform.attachments.value = mytext[1];                                                                         $('#hidebtn').show();                                                                           $('#hideimg').hide();
} else{                                                               $('#myfilename').html('error had occured');
                                                                }
                                                }
                                });

                });

但问题是,如果我在页面上有多个实例,它开始无法正常工作,任何人都可以建议我如何改变它以使其对多个上传按钮友好,或者他们已经完成的另一种方式这个?我正在寻找正确方向的一点,因为它正在成为一个问题。提前感谢您的任何帮助

1 个答案:

答案 0 :(得分:0)

在您的脚本中,您使用的是按钮的ID:var btnUpload=$('#upload');

所以你不能将这个确切的脚本用于许多按钮。

您需要将按钮ID作为参数传递。尝试用这种方式:

    您的html标记中的
  • :为每个按钮指定一个ID或onclick="upload(this)"
  • 在您的javascript中
  • :将函数更改为具有名称并接收参数
  

功能上传(按钮){
       //你的ajax电话

new AjaxUpload(button, {
            action: 'upload-file-notes.php',
...
  

}   }