Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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_Html_Forms - Fatal编程技术网

Javascript 在尝试将表单数据下载为纯文本时,我希望将数组数据转换为字符串并显示在文本文件中

Javascript 在尝试将表单数据下载为纯文本时,我希望将数组数据转换为字符串并显示在文本文件中,javascript,html,forms,Javascript,Html,Forms,在下面的代码中,我试图创建一个数组'value',它由'str','com','val'三部分组成。我想要的是在下载的文本文件中以其在所附屏幕截图中显示的形式显示数据部分。我试着在下面的代码中这样做,但出现了严重错误,它以某种随机方式显示数据。谁能帮我做到这一点 我的订单如下所示 document.addEventListener('DOMContentLoaded',function(){ const extra={}; const of form=document.forms.myFo

在下面的代码中,我试图创建一个数组'value',它由'str','com','val'三部分组成。我想要的是在下载的文本文件中以其在所附屏幕截图中显示的形式显示数据部分。我试着在下面的代码中这样做,但出现了严重错误,它以某种随机方式显示数据。谁能帮我做到这一点

我的订单如下所示

document.addEventListener('DOMContentLoaded',function(){
const extra={};
const of form=document.forms.myForm;
const oSave=document.querySelector('input[name=“save”]”);
const oSub=document.querySelector('input[name=“submit”]”);
const oCtrl=document.querySelector('select[name=“controller”]”);
const oTest=document.querySelector('select[name=“test”]”);
const oProto=document.querySelector('select[name=“protocol”]”);
const oiSCSI=document.querySelector('select[name=“iscsii”]”);
const oTmp=document.querySelector('template');
//验证输入数据并处理用户所做的更改
常量changehandler=函数(e){
让option=this.options[this.options.selectedIndex];
如果(option.hasAttribute('data-extra'))extra[this.name]=this.value;
否则{
如果(extra.hasOwnProperty(this.name))删除extra[this.name];
}
if(Object.keys(额外).length==2){
让fieldset=oTmp.content.cloneNode(true);
oForm.insertBefore(字段集,oProto.parentNode.nextSibling)
}否则{
if(document.getElementById('extra')){
fieldset=document.getElementById('extra')
fieldset.parentNode.removeChild(fieldset);
}
}
如果(option.hasAttribute('data-extra'))extra[this.name]=this.value;
否则{
如果(extra.hasOwnProperty(this.name))删除extra[this.name];
}
//仅当控制器为RAID时启用协议下拉列表
如果(this.name=='controller'){
如果(this.value='RAID')oProto.disabled=false
else oProto.disabled=true
}
if(this.name=='protocol'){
如果(this.value=='iSCSI')oiSCSI.disabled=false
else oiSCSI.disabled=true
}
}
const dialog=函数(msg){
警报(msg);
返回false;
}
const savehandler=函数(e){
e、 预防默认值();
让valid=true;
/*
if(of orm.test.value=''of orm.controller.value=''of orm.ip.value=''of orm.chassis.value=''of orm.lo.value=''of orm.ro.value=''){
警告(“请填写所有字段!”);
返回;
}
else if(of orm.extra|u ip1.value=''of orm.extra|u ip.value=''of orm.netmask_ip1.value=''of orm.netmask|u ip.value=''of orm.gateway|ip1.value=''of orm gateway|of orm gateway_ip.value=''){
警告(“请填写所有附加必填字段!”);
返回;
}
常数ipformat=/^(25[0-5]| 2[0-4][0-9]|[01]?[0-9][0-9]。\(25[0-5]| 2[0-4][0-9]|[01]|[0-9][0-9]。\(25[0-5]|[2[0-4][0-9]|[01]|[0-9][0-9]。\(25[0-5]| 2[0-4][0-9]。);
if(ipformat.test(oForm.ip.value)==false){
返回对话框(“无效IP地址”);
}
else if(ipformat.test(oForm.extra_ip1.value)==false | | ipformat.test(oForm.extra_ip.value)==false){
返回对话框(“无效的MC_IP地址”);
}
else if(ipformat.test(oForm.netmask_ip1.value)==false | | ipformat.test(oForm.netmask_ip.value)==false){
返回对话框(“无效的MC_网络掩码地址”);
}
else if(ipformat.test(oForm.gateway_ip1.value)==false | | ipformat.test(oForm.gateway_ip.value)==false){
返回对话框(“无效的MC_网关地址”);
}  
*/
//在下载的yaml文件中创建要捕获的数据元素
让数据={
“PDU”:{
//“PDU测试”:形式测试值,
“PDU IP”:[“”,形式IP.值,#PDU IP”],
“PDU左”:[“”,形式为lo.值,“#左#U出口],
“PDU右侧”:[“”,形式ro.值,“#右侧#U出口],
}/*,
“控制器”:{
//“控制器类型”:oForm.Controller.value,
//“协议类型”:oForm.Protocol.value,
//“Chasis输入”:of orm.chassis.value,
'iSCSI_IPs_A':oForm.iSCSIip1.value,
“HBA_端口”:oForm.HBA_端口1.value,
“网络掩码IP_A”:形式为.extra_ip1.value,
“MC_Netmask_A”:形式为.Netmask_ip1.value,
“MC_Gateway_A”:形式为.Gateway_ip1.value,
“MC_A”:形式为.rbod_mc1.value,
“SC_A”:形式为.rbod_sc1.value,
“FU_A”:形式为.rbod_fu1.value,
“EC_A”:形式为.rbod_ec1.value,
“Controller_ID#1”:form.Controller_ID.value的值,
'iSCSI_IPs_B':oForm.iSCSIip2.value,
“HBA_端口”:oForm.HBA_Ports.value,
“网络掩码IP_B”:形式为.extra_IP.value,
“MC_Netmask_B”:形式为.Netmask_ip.value,
“MC_Gateway_B”:形式为Gateway_ip.value,
“MC_B”:形式为rbod_MC.value,
“SC_B”:形式为rbod_SC.value,
“FU_B”:形式为rbod_FU.value,
“EC_B”:形式为rbod_EC.值,
'Controller_ID#2':of form.Controller_ID.value
},*/
};
//对数据的格式进行分类
让有效载荷=“”;
有效负载+='-#UUT 0配置'+'\n-#机箱0配置'+String.fromCharCode(10);
const addToPayload=(对象,空白)=>{
for(对象的常量键。键(对象)){
有效负载+=空白+键+':';
常量值=对象[键];
str=值[0];
com=值[1];
val=值[2];
有效载荷+=空格+str+':'+com+val;
如果(值的类型==='object'){
有效载荷+=字符串。fromCharCode(10);
addToPayload(值,空格+“”);
} 
否则{
有效负载+=''+值;//+字符串.fromCharCode(10);
}
}
}
addToPayload(数据“”);
/*var neNODE=document.createElement(“h2”);
var nTNODE=document.createTextNode(“JS文本”);
var ncNODE=document.createComment(“comment”);
var comment=document.createComment(“comment”);
data.appendcomment
*/
//将数据转换为yaml文件并单击按钮下载
const blob=新blob([有效负载]{
键入:“text/yaml”
});
var file=oForm.test.value+“”+oForm.protocol.value+“_UUT_Config”+'.yaml';
设link=d