【发布时间】:2012-05-07 18:57:13
【问题描述】:
我找不到任何有关以编程方式创建 dojox/form/Uploader 的文档。我自己尝试过,但看起来插件注册机制不知何故被破坏了。
require([
"dojo/dom-construct",
"dijit/form/Button",
"dojox/form/Uploader",
"dojox/form/uploader/FileList",
"dojox/form/uploader/plugins/IFrame",
"dojo/domReady!"
], function(domConstruct, Button, Uploader, UploaderFileList) {
var form = domConstruct.create('form', {
method: 'post',
enctype: 'multipart/form-data',
class: 'Uploader'
}, document.body);
var up = new Uploader({
label: 'Pick files',
multiple: true,
url: '/echo/json/'
}).placeAt(form);
var list = new UploaderFileList({
uploader: up
}).placeAt(form);
var btn = new Button({
type: 'submit',
label: 'upload',
onClick: function() {
up.upload();
}
}).placeAt(form);
btn.startup();
up.startup();
list.startup();
});
关于 jsfiddle here 的示例。
据我了解,dojox/form/Uploader和dojox/form/uploader/plugins/IFrame的源码,插件是通过dojox.form.addUploaderPlugin函数注册的,它使用self和plugged重新声明了Uploader小部件类插件作为它的前辈。 但是 Uploader 小部件的关键方法“上传”永远不会被 HTML5 插件(它自动包含在 iframe 插件中)覆盖。
这是错误吗?还是我做错了什么?
感谢您的帮助!
【问题讨论】:
标签: javascript ajax upload dojo