Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将一个javascript函数的结果集成到另一个javascript函数中_Javascript_Html_Function - Fatal编程技术网

将一个javascript函数的结果集成到另一个javascript函数中

将一个javascript函数的结果集成到另一个javascript函数中,javascript,html,function,Javascript,Html,Function,我很难将这两个脚本集成到我的HTML页面中 首先,我有一个javascript,它将下拉框和文本框的结果编译成字符串文本。那很好 第二个javascript创建一个可以下载的txt文件(在多行数组中)。我想做的是获得函数generate()中生成的字符串的结果,使其在javascript下载命令数组中显示为一行 仅供参考-我有所有这些在一个html文件,因为它的重量轻 提前感谢您的帮助 函数生成(){ var结果=“”; 结果+=document.getElementById('drop1')

我很难将这两个脚本集成到我的HTML页面中

首先,我有一个javascript,它将下拉框和文本框的结果编译成字符串文本。那很好

第二个javascript创建一个可以下载的txt文件(在多行数组中)。我想做的是获得
函数generate()
中生成的字符串的结果,使其在javascript下载命令数组中显示为一行

仅供参考-我有所有这些在一个html文件,因为它的重量轻

提前感谢您的帮助

函数生成(){
var结果=“”;
结果+=document.getElementById('drop1')。值+'-';
结果+=document.getElementById('drop2')。值+'-';
结果+=document.getElementById('drop3')。值+'-';
结果+=document.getElementById('text1')。值+'-';
结果+=document.getElementById('text2')。值;
document.getElementById('output').innerHTML=result;
}
生成();
函数下载(文件名、文本){
var-element=document.createElement('a');
element.setAttribute('href','data:text/plain;charset=utf-8',+encodeURIComponent(text));
setAttribute('download',filename);
element.style.display='none';
document.body.appendChild(元素);
元素。单击();
document.body.removeChild(元素);
}
函数getLastUpdated(){
返回结果;
}
//开始文件下载。
document.getElementById(“dwn btn”).addEventListener('click',function()){
//生成包含一些内容的hello.txt文件的下载
变量文本=[
'相当长的英文文本字符串,一条错误消息',
getLastUpdated(),
“结束”
].join('\n');
var filename=“hello.txt”;
下载(文件名,text.replace(/\n/g,“\r\n”);//转换LF-ro-CRLF
},假)

D1 S1
D1 S2
D2 S1
D2 S2
D3 S1
D3S2


您试图在中引用
生成
函数的本地
结果
变量,就好像它是一个全局变量,可以从内部
获取最新更新的
一样。一个解决办法是使其全球化。有各种各样的原因可能是个坏主意。最好是让生成该文本的代码从
generate
函数内部和生成下载文本的侦听器中可用。为此,我将
getLastUpdate
更改为执行实际计算,然后从
generate
内部和该侦听器调用它。重要的一点是
return
语句。不返回任何内容的函数吓到我了!:微笑:

函数getLastUpdated(){ var结果=“”; 结果+=document.getElementById('drop1')。值+'-'; 结果+=document.getElementById('drop2')。值+'-'; 结果+=document.getElementById('drop3')。值+'-'; 结果+=document.getElementById('text1')。值+'-'; 结果+=document.getElementById('text2')。值; 返回结果; } 函数生成(){ var result=getLastUpdated() document.getElementById('output').innerHTML=result; } 生成(); 函数下载(文件名、文本){ var-element=document.createElement('a'); element.setAttribute('href','data:text/plain;charset=utf-8',+encodeURIComponent(text)); setAttribute('download',filename); element.style.display='none'; document.body.appendChild(元素); 元素。单击(); document.body.removeChild(元素); } //开始文件下载。 document.getElementById(“dwn btn”).addEventListener('click',function()){ //生成包含一些内容的hello.txt文件的下载 变量文本=[ '相当长的英文文本字符串,一条错误消息', getLastUpdated(), “结束” ].join('\n'); var filename=“hello.txt”; 下载(文件名,text.replace(/\n/g,“\r\n”);//转换LF-ro-CRLF },假)

D1 S1
D1 S2
D2 S1
D2 S2
D3 S1
D3S2


我们可以假设你的意思是
生成
而不是
获取生成
?是的,刚刚编辑过-对不起!先生,你是魔术师!非常感谢。我边走边学习,stackoverflow非常有用。非常感谢:)所以我在我的网站和Html编辑器3.5V上尝试了这段代码,下载按钮不会启动命令。。。然而在这里它工作得很好。。。建议?据猜测,这是因为您的脚本在文档正确加载之前正在运行。尝试将脚本块移动到正文的末尾。它在中工作,所以你应该能够让它在其他地方工作。