gpt4 book ai didi

javascript - 以编程方式打开文件选择dojox/Uploader

转载 作者:行者123 更新时间:2023-11-29 10:43:23 25 4
gpt4 key购买 nike

我需要通过单击与小部件无关的 div 选择要使用 dojox/Uploader 上传的文件。

我试过使用 on.emit,但没有任何反应(还有 click()onclick() 等... domNodes..)

这是我的代码:

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
});

小部件必须隐藏,所以我不能按小部件选择按钮。我需要通过单击其他 div 打开选择文件对话框,所以...如何以编程方式打开文件浏览器以选择文件?

最佳答案

好吧,我找到了解决办法。我使用一个小部件内部节点来调用点击,并将一个监听器附加到 uploader 更改事件和完成事件...

首先,将点击事件附加到节点。

var importButtonNode = dom.byId("myImportDiv");
on(importButtonNode,"click",function(evt) {
myUploader.domNode.childNodes[0].click();
});

附加到 Uploader change 和 complete 事件处理程序

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

});

在我的例子中,我需要在没有表单的情况下发送表单数据...所以使用 de upload 方法。此外,该文件必须是 XLSX。

希望对您有所帮助。

问候

关于javascript - 以编程方式打开文件选择dojox/Uploader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24610310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com