Javascript 如何在Dojo中替换div?每次单击都会重复显示Div
在下拉选择中,我使用下面的代码动态显示一个div:它只是一个dojo文件上传器。在下拉选择中,它调用下面的函数并在html上附加文件上传代码Javascript 如何在Dojo中替换div?每次单击都会重复显示Div,javascript,jquery,html,css,dojo,Javascript,Jquery,Html,Css,Dojo,在下拉选择中,我使用下面的代码动态显示一个div:它只是一个dojo文件上传器。在下拉选择中,它调用下面的函数并在html上附加文件上传代码 showAttach (parser, Uploader, dom, on, has, templateID) { parser.parse(document.getElementById("container")); var uploaderDIV = docu
showAttach (parser, Uploader, dom, on, has, templateID) {
parser.parse(document.getElementById("container"));
var uploaderDIV = document.getElementById("uploader");
var templateID = document.getElementById('templateID').value;
var uploadFormWithParams = "/wps//UploaderServlet?templateID=" + templateID;
if ( document.getElementById('uploaderDIV') !=null && document.getElementById('uploaderDIV').style.display == 'block' ) {
// alert("select - " + document.getElementById('uploaderDIV').style.display);
dijit.byId("uploaderDIV").remove();
}
var up = new dojox.form.Uploader({
label: 'Select files',
style: 'background-color: #ddddff; border: solid 0px;', //Externalize ...
multiple: true,
/* data: { product: "product", productFamily : "productFamily", productFamily : "operation"} ,*/
url: uploadFormWithParams
}).placeAt(uploaderDIV);
on(dom.byId("uploadBtn"), "click", function (evt) {
//You can put some validations here ...
up.submit();
});
on(dom.byId("clearBtn"), "click", function (evt) {
dom.byId("uploaderStatus").innerHTML = "";
up.reset();
});
dojo.connect(up, "onComplete", function (dataArray) {
var i = 0;
dom.byId("uploaderStatus").innerHTML = "";
if (!dataArray.error) {
for (i = 0; i < dataArray.length; ++i) {
//dom.byId("uploaderStatus").innerHTML += "File : '" + dataArray[i].name + "' is is saved for selected Email template." + "<br/><br/><br/>";
dom.byId("uploaderStatus").innerHTML += "'" + dataArray[i].status + " !'" + "<br/><br/><br/>";
}
} else {
dom.byId("uploaderStatus").innerHTML = "Unable to upload the file(s)";
}
});
dojo.connect(up, "onChange", function (evt) {
var i = 0;
var content = "";
var dataArray = up.getFileList();
for (i = 0; i < dataArray.length; ++i) {
content += dataArray[i].name + "<br/>";
}
dom.byId("uploaderStatus").innerHTML = content;
});
up.startup();
}
showAttach(解析器、上载程序、dom、on、has、templateID){
parser.parse(document.getElementById(“容器”));
var uploaderDIV=document.getElementById(“uploader”);
var templateID=document.getElementById('templateID').value;
var uploadFormWithParams=“/wps//UploaderServlet?templateID=“+templateID;
if(document.getElementById('uploaderDIV')!=null和&document.getElementById('uploaderDIV')。style.display=='block'){
//警报(“选择-”+document.getElementById('uploaderDIV').style.display);
dijit.byId(“uploaderDIV”).remove();
}
var up=new dojox.form.Uploader({
标签:“选择文件”,
样式:“背景色:#ddff;边框:实心0px;”,//外部化。。。
多重:对,
/*数据:{product:“product”,productFamily:“productFamily”,productFamily:“operation”}*/
url:uploadFormWithParams
}).placeAt(上传第四版);
在(dom.byId(“uploadBtn”),“click”,函数(evt){
//你可以把一些验证放在这里。。。
up.submit();
});
在(dom.byId(“clearBtn”),“click”,函数(evt){
dom.byId(“uploaderStatus”).innerHTML=“”;
up.reset();
});
connect(向上,“onComplete”,函数(dataArray){
var i=0;
dom.byId(“uploaderStatus”).innerHTML=“”;
如果(!dataArray.error){
对于(i=0;i
”;
dom.byId(“uploaderStatus”).innerHTML++=“'”+dataArray[i]。状态+“!”“+”
;
}
}否则{
dom.byId(“uploaderStatus”).innerHTML=“无法上载文件”;
}
});
connect(向上,“onChange”,函数(evt){
var i=0;
var-content=“”;
var dataArray=up.getFileList();
对于(i=0;i ”;
}
byId(“uploaderStatus”).innerHTML=content;
});
up.startup();
}
第一次,一切正常,但当我选择第二个下拉列表时。它没有替换“uploaderDIV”,而是用适当的映射添加了一个以上的参数[query paramater在up.on上进行ajax调用时正确,如上图所示]
当下拉列表值更改时,我应该如何用新的uploaderDIV替换它。您有两个选择,可以尝试重用Uploader小部件,也可以在创建新的小部件之前销毁旧的小部件 有很多方法可以找到旧的小部件,但最简单的方法可能是给它一个id,并将它与(dijit/registry)registry.byId(“upId”)一起使用,以使旧的Uploader小部件在创建新的小部件之前重用或调用.destroy() 我看到您引用的是dijit.byId,我的回答是假设您使用registry.byId。但是您是否要尝试重用上载程序(很抱歉没有清理格式):
showAttach(解析器、上载程序、dom、on、has、templateID){
parser.parse(document.getElementById(“容器”));
var uploaderDIV=document.getElementById(“uploader”);
var templateID=document.getElementById('templateID').value;
var uploadFormWithParams=“/wps//UploaderServlet?templateID=“+templateID;
if(document.getElementById('uploaderDIV')!=null和&document.getElementById('uploaderDIV')。style.display=='block'){
//警报(“选择-”+document.getElementById('uploaderDIV').style.display);
dijit.byId(“uploaderDIV”).remove();
}
var up=dijit.byId('myUploader');
如果(!向上){
up=新的dojox.form.Uploader({
id:'myUploader',
标签:“选择文件”,
样式:“背景色:#ddff;边框:实心0px;”,//外部化。。。
多重:对,
/*数据:{product:“product”,productFamily:“productFamily”,productFamily:“operation”}*/
url:uploadFormWithParams
}).placeAt(上传第四版);
在(dom.byId(“uploadBtn”),“click”,函数(evt){
//你可以把一些验证放在这里。。。
up.submit();
});
在(dom.byId(“clearBtn”),“click”,函数(evt){
dom.byId(“uploaderStatus”).innerHTML=“”;
up.reset();
});
connect(向上,“onComplete”,函数(dataArray){
var i=0;
dom.byId(“uploaderStatus”).innerHTML=“”;
如果(!dataArray.error){
对于(i=0;i
”;
dom.byId(“uploaderStatus”).innerHTML++=“'”+dataArray[i]。状态+“!”“+”
;
}
}埃尔
showAttach (parser, Uploader, dom, on, has, templateID) {
parser.parse(document.getElementById("container"));
var uploaderDIV = document.getElementById("uploader");
var templateID = document.getElementById('templateID').value;
var uploadFormWithParams = "/wps//UploaderServlet?templateID=" + templateID;
if ( document.getElementById('uploaderDIV') !=null && document.getElementById('uploaderDIV').style.display == 'block' ) {
// alert("select - " + document.getElementById('uploaderDIV').style.display);
dijit.byId("uploaderDIV").remove();
}
var up = dijit.byId('myUploader');
if(!up) {
up = new dojox.form.Uploader({
id: 'myUploader',
label: 'Select files',
style: 'background-color: #ddddff; border: solid 0px;', //Externalize ...
multiple: true,
/* data: { product: "product", productFamily : "productFamily", productFamily : "operation"} ,*/
url: uploadFormWithParams
}).placeAt(uploaderDIV);
on(dom.byId("uploadBtn"), "click", function (evt) {
//You can put some validations here ...
up.submit();
});
on(dom.byId("clearBtn"), "click", function (evt) {
dom.byId("uploaderStatus").innerHTML = "";
up.reset();
});
dojo.connect(up, "onComplete", function (dataArray) {
var i = 0;
dom.byId("uploaderStatus").innerHTML = "";
if (!dataArray.error) {
for (i = 0; i < dataArray.length; ++i) {
//dom.byId("uploaderStatus").innerHTML += "File : '" + dataArray[i].name + "' is is saved for selected Email template." + "<br/><br/><br/>";
dom.byId("uploaderStatus").innerHTML += "'" + dataArray[i].status + " !'" + "<br/><br/><br/>";
}
} else {
dom.byId("uploaderStatus").innerHTML = "Unable to upload the file(s)";
}
});
dojo.connect(up, "onChange", function (evt) {
var i = 0;
var content = "";
var dataArray = up.getFileList();
for (i = 0; i < dataArray.length; ++i) {
content += dataArray[i].name + "<br/>";
}
dom.byId("uploaderStatus").innerHTML = content;
});
up.startup();
}
}