如何将全局变量值从js文件中的函数传递到另一个文件中的另一个函数

时间:2018-05-16 10:03:17

标签: javascript html xml

文件gallery.js基本上创建了一个由用户插入的图像库。

在一个名为gallery.js的文件中,我有这个功能来知道用户选择了哪个图像,当他点击它时,在图像周围创建一个边框。该功能将始终由用户首先使用。

var Nxml=0;
var NameFile =[]; // an array with all images names
var NameXml=[]; // array wth the name of the images selected

这个函数也在gallery.js中用html输入按钮检索用户插入的文件。

function handleFiles() {
"use strict";
var inputElement = document.getElementById("input");
var fileList = inputElement.files;

for(var i = 0; i < fileList.length; i++){

 NameFile.push(fileList[i].name);

 /.../
 }

每次用户点击图库中显示的图像时,都会调用此函数。

function imgClick(img) {

  if (img.className.indexOf('bordered') > -1) {
    img.className = img.className.replace('bordered', '').trim();
      Nxml=Nxml-1;
      alert(Nxml);
  // delete from the "NameXml" array the name of the image clicked

  } else {
    img.className += ' bordered';

   for( var i=0; i<NameFile.length;i++){

   if("imageID"+[i]===img.getAttribute("id")){ 
    Nxml=Nxml+1; 
    NameXml.push(NameFile[i]);

    alert(NameFile[i]);// name of the file selected
    alert(Nxml);// nr of clicks
}
   }
}
}

在另一个名为XML.js的文件中,我有一个函数生成一个xml文件,其中包含在表单上发布的信息,我希望生成的xml的数量与var“Nxml”和每个的名称相同xml文件与所选图像相同。

function download(frm){
    "use strict";
    alert(window.Nxml);
    alert(NameXml);

    for(var j=0; j<Nxml; j++){ 
    var N= NameXml[j];
    var data=fromToXml(frm);
  console.log(data);

  // aqui o nome do ficheiro
  downloadData("text/xml",data, N+".xml");  
    }

    }

1 个答案:

答案 0 :(得分:1)

为什么你在imgClick(img)中减少Nxml !!所以它总是负面的,下载中的for循环不起作用。