Javascript 以编程方式打开文件选择dojox/Uploader
我需要通过单击与小部件不相关的Javascript 以编程方式打开文件选择dojox/Uploader,javascript,file-upload,dojo,Javascript,File Upload,Dojo,我需要通过单击与小部件不相关的div来选择要使用dojox/Uploader上载的文件 我尝试在.emit上使用,但没有任何效果(在domNodes上也使用单击(),onclick()等) 这是我的代码: var myUploader = new dojox.form.Uploader({ id : 'myUploader', url : baseUrl + '/upload/form', style : {
div
来选择要使用dojox/Uploader上载的文件
我尝试在.emit上使用,但没有任何效果(在domNodes上也使用单击()
,onclick()
等)
这是我的代码:
var myUploader = new dojox.form.Uploader({
id : 'myUploader',
url : baseUrl + '/upload/form',
style : {
'overflow': 'hidden',
'position': 'relative',
'opacity' : 0
}
},"uploaderHolder");
myUploader.startup();
var importButtonNode = dom.byId("importDivButton");
on(importButtonNode,"click",function(evt) {
on.emit(myUploader.domNode, "click", {
bubbles: true,
cancelable: false
});
小部件必须隐藏,所以我不能按小部件选择按钮。我需要打开选择文件对话框,点击其他分区,以便。。。如何以编程方式打开文件浏览器以选择文件?我找到了一个解决方案。我使用一个widgets内部节点来调用click,并将一个侦听器连接到Uploader change事件和complete事件
首先,将单击事件附加到节点
var importButtonNode = dom.byId("myImportDiv");
on(importButtonNode,"click",function(evt) {
myUploader.domNode.childNodes[0].click();
});
附加到上载程序更改并完成事件处理程序
myUploader.on("change",function(evt){
if(evt[0].type != FileTypes.XSLX_FILE_TYPE){
alert("Error file type must be XLSX");
} else {
var formData = new Object();
formData.idProject = project.id;
myUploader.upload(formData);
}
});
myUploader.on("complete",function(evt){
alert("File Uploaded");
// do things
});
在我的情况下,我需要发送没有表单的formdata。。。所以使用去上传的方法。此外,该文件必须是XLSX
我希望这有帮助
关于您的问题/问题是什么?如何以编程方式打开文件浏览器以选择文件?窗口小部件按钮将被隐藏。请通过单击编辑
将您的问题添加到问题文章中,并进行相应修改。这有助于找到问题的答案。完成后,问题已添加感谢您的评论Gottieb Notschnabel!