基本上多年来我一直使用静态文件上传脚本,最初是 ajaxupload。为了满足我们的需要,它经过了轻微的编辑,每页一张图片,效果很好。但是,我现在需要在一个页面上上传多个单独的图片,以阻止自己简单地复制大量相同的代码,我希望使当前脚本动态化。
这是Javascript:
$(document).ready(function(){
$("#daftform").validationEngine({promptPosition : "topLeft:0,15", scroll: false});
var btnUpload=$('#upload');
var status=$('#swaptd');
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');
}
}
});
});
这与 s 简单的 html 元素有关:
<?php if (isset($_GET['change']) && $_GET['change'] == "image1"){?>
<tr>
<td align="right">Thumbnail:</td>
<td>
<table>
<tr>
<td>
<div id="upload" >
<button id="upload" type="button">Upload</button>
</div>
</td>
<td id="myfilename">
</td>
</tr>
</table>
</td>
</tr>
<?php } else { ?>
<tr>
<td align="right">Banner:</td>
<td align="left">
<img src="../shop/<?php echo $subcatinforow['SubCatBan']; ?>" width="230" border="0"> <a href="productupdate.php?change=image1&id=<?php echo $prodID; ?>"><img src="images/1001-cancel16.gif" width="16" height="16" alt="" border="0"></a>
<div id="upload"></div>
</td>
</tr>
<?php } ?>
正如您所看到的,一旦图像被“取消”,上传按钮将出现在标识为“上传”的 div 中,这就是 javascript 寻找的内容。
我正在寻找一种方法来使这种动态化,这样我就可以拥有多个 html 元素,例如上面的那个,所有元素都具有不同的 id。我知道有一个 Jquery 这个函数,但是任何人都可以建议如何在单击按钮时调用它......或另一种有效的方法来完成这个。
该行基本上是:
var btnUpload=$('#upload');
上传需要变成动态变量
希望一切都说得通。