我有一个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');
}
}
});
});
但问题是,如果我在页面上有多个实例,它开始无法正常工作,任何人都可以建议我如何改变它以使其对多个上传按钮友好,或者他们已经完成的另一种方式这个?我正在寻找正确方向的一点,因为它正在成为一个问题。提前感谢您的任何帮助
答案 0 :(得分:0)
在您的脚本中,您使用的是按钮的ID:var btnUpload=$('#upload');
所以你不能将这个确切的脚本用于许多按钮。
您需要将按钮ID作为参数传递。尝试用这种方式:
onclick="upload(this)"
功能上传(按钮){
//你的ajax电话
new AjaxUpload(button, {
action: 'upload-file-notes.php',
...
} }