0

我有一个 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');
                                                                }
                                                }
                                });

                });

但问题是,如果我在一个页面上有多个 is 实例,它开始无法正常工作,谁能建议我如何更改它以使其对多个上传按钮友好,或者他们这样做的另一种方式?我只是在寻找正确方向的一点,因为它正在成为一个问题。预先感谢您的任何帮助

4

1 回答 1

0

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

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

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

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

function upload(button){
// 你的 ajax 调用

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

} }

于 2012-12-04T09:44:07.697 回答