所以我有以下
<form id="uploadControls">
<input type="file" id="browseFiles">
<input type="button" id="startUpload" value="Upload">
<input type="checkbox" id="overwrite">
</form>
一些javascript使用这些来控制文件上传机制。后端工作得很好。我使用 resumable.js(https://github.com/23/resumable.js),这是我的上传控件的一个小示例片段
var resume;
function resumableUpload(){
resume = new Resumable({
url: uploadURL,
query: {overwrite: !!($("#overwrite").attr('checked'))},
size: 1024*1024
});
// some events with callback functions
resume.assignBrowse(document.getElementById("browseFiles"));
}
$("#startUpload").live("click",function(){
resume.upload();
});
现在,如果有人要选中复选框以允许文件覆盖以前存在的文件(保存时不带时间戳),我需要更新query
可恢复对象中的参数,而我能够做到这一点的唯一方法是使用 reloading resumableUpload()
。问题是,当调用是这样的:
$("#overwrite").on('click',resumableUpload);
然后所有onclick
处理程序停止响应。
我尝试了以下方法:
$("#overwrite").on('click',function(){
$("#uploadControls").each(function(){
this.reset();
});
startResumable();
});
但这似乎不起作用。
我做错了什么?这适用于使用 resumable.js 库将文件选择器绑定到 a<button>
但在 Firefox 上不起作用,所以我需要一个更好的解决方案。