Javascript 未使用警报框时不会执行JS函数
我曾一度在CRM中做JScript。我知道问题在于JScript同步/异步代码执行流。CRM页面上有一个html控件,它从DB加载一些图像并显示它们。此外,还有一个手动上传图像的选项 当用户手动上传图像时,执行以下功能:Javascript 未使用警报框时不会执行JS函数,javascript,dynamics-crm-2013,Javascript,Dynamics Crm 2013,我曾一度在CRM中做JScript。我知道问题在于JScript同步/异步代码执行流。CRM页面上有一个html控件,它从DB加载一些图像并显示它们。此外,还有一个手动上传图像的选项 当用户手动上传图像时,执行以下功能: function processingImage() { var list = document.getElementById("image-list"); var imageList = list.getElementsByTagName('img'); var status
function processingImage() {
var list = document.getElementById("image-list");
var imageList = list.getElementsByTagName('img');
var status = false;
for (var i = 0; i < imageList.length; i++) {
var imageSource = imageList[i].src;
var imageName = imageList[i].alt;
var imageTypeSection = imageSource.split(";")[0];
var imageType = imageTypeSection.split(":")[1];
saveImage(imageSource, imageType, "sampleImage-" + imageName);
status = true;
}
if (status) {
//alert("Saved successfully.");
}
return status;
}
函数处理图像(){
var list=document.getElementById(“图像列表”);
var imageList=list.getElementsByTagName('img');
var状态=假;
对于(var i=0;i
您可以看到,此函数中有一个“已成功保存”的警报框。问题是,当我显示此警报时,只有图像保存在DB中,并在页面刷新后显示。如果我注释掉警报框(如本例中所示),则图像不会保存到db中,也不会显示在控件上
我不知道如何解决这个问题。请提供帮助。您可以使用java脚本函数
setTimeout
查看我是否工作
function processingImage() {
var list = document.getElementById("image-list");
var imageList = list.getElementsByTagName('img');
var status = false;
for (var i = 0; i < imageList.length; i++) {
var imageSource = imageList[i].src;
var imageName = imageList[i].alt;
var imageTypeSection = imageSource.split(";")[0];
var imageType = imageTypeSection.split(":")[1];
saveImage(imageSource, imageType, "sampleImage-" + imageName);
status = true;
}
if (status) {
//alert("Saved successfully.");
}
return status;
}
function timeout_init() {
setTimeout('processingImage()', 2000);
}
函数处理图像(){
var list=document.getElementById(“图像列表”);
var imageList=list.getElementsByTagName('img');
var状态=假;
对于(var i=0;i
现在调用
timeout\u init
而不是processingImage
,希望这可以解决您的问题我已经解决了这个问题,我相信我提供的信息不足以让人回答这个问题。