如何格式化通过javascript以HTML形式在文本blob中下载数据的模板?

如何格式化通过javascript以HTML形式在文本blob中下载数据的模板?,javascript,html,Javascript,Html,我有一个web应用程序以文本文件的形式下载用户输入。如何修改正在下载的文本文件的模板。有办法吗。 下载的当前格式为:- Name: Mike Email: xyz@gmail.com Test type: BFT Product Type: RAID Protocol Type: iSCSI IP Address: 255.255.255.0 Chasis Inputs: 21 HBA_Ports: MC_IP: MC_Netmask: MC_Gateway: MC: SC: FU:

我有一个web应用程序以文本文件的形式下载用户输入。如何修改正在下载的文本文件的模板。有办法吗。 下载的当前格式为:-

Name: Mike
Email: xyz@gmail.com
Test type: BFT
Product Type: RAID
Protocol Type: iSCSI
IP Address: 255.255.255.0
Chasis Inputs: 21
HBA_Ports: 
MC_IP: 
MC_Netmask: 
MC_Gateway: 
MC: 
SC: 
FU: 
EC: 
Controller_ID: 
我期待的下载方式是

Name: Mike
Email: xyz@gmail.com
Test type: BFT
    IP Address: 255.255.255.0
product Type: RAID
Protocol Type: iSCSI
   -Controller_ID:
   -Chasis Inputs: 21
   -HBA_Ports: 
   -MC_IP: 
   -MC_Netmask: 
   -MC_Gateway: 
   -MC: 
   -SC: 
   -FU: 
   -EC: 

使用JavaScript将表单数据保存在文本文件中
用户信息
html,
html*{
框大小:边框框;
边框颜色:青绿色;
字体系列:calibri;
}
html{
背景:径向梯度(
rgba(48,97,97,0.5),
rgba(255、255、255、0.5)
);
}
输入[type=“button”],
输入[type=“submit”]{
填充:1rem;
}
输入[type=“text”],
文本区,
挑选{
字体:17px Calibri;
宽度:100%;
填充:12px;
边框:1px实心rgb(19,18,18);
边界半径:4px;
颜色:青绿色;
}
字段集{
边界:无;
填充:10px;
溢出:隐藏;
颜色:rgb(16,8,32);
字体大小:25px;
字体风格:首字母;
字体系列:“泰晤士报新罗马”,泰晤士报,衬线;
}
#额外的{
边框:2件纯黑;
背景:白烟;
边界半径:1em;
长方体阴影:0 5px黑色;
宽度:计算(100%-24px);
保证金:自动;
浮动:无;
明确:两者皆有;
}
#额外h6{
保证金:0;
}
.无效{
边框:2件纯红!重要;
背景:rgba(255,0,0,0.1);
}
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 oTmp=document.querySelector(“模板”);
常量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(“额外”)){
fieldset=document.getElementById(“额外”);
fieldset.parentNode.removeChild(fieldset);
}
}
如果(option.hasAttribute(“data extra”))extra[this.name]=this.value;
否则{
如果(extra.hasOwnProperty(this.name))删除extra[this.name];
}
/*
if(option.hasAttribute('data RBOD'))extra[this.name]=this.value;
否则{
如果(extra.hasOwnProperty(this.name))删除extra[this.name];
}
*/
如果(this.name==“控制器”){
if(this.value==“RAID”)oProto.disabled=false;
else oProto.disabled=真;
}
};
const dialog=函数(msg){
警报(msg);
返回false;
};
const savehandler=函数(e){
e、 预防默认值();
让valid=true;
/*['name'、'email'、'test'、'controller'、'ip'、'chassis'].forEach(n=>{
oForm[n].classList.remove('invalid');
如果(形式[n]。值=“”){
oForm[n].classList.add('invalid');
有效=错误;
}
});*/
如果(!valid)返回对话框(“请填写所有字段!”);
常数reg=/^([A-Za-z0-9\-\.])+\@([A-Za-z0-9\-\.])+\.([A-Za-z]{2,4})$/;
if(注册表测试(oForm.email.value)==false){
返回对话框(“无效电子邮件地址”);
}
常数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地址”);
}
if(of form.name.value.length<3)
返回对话框(“名称必须至少包含3个字符”);
让数据={
名称:oForm.Name.value,
电子邮件:oForm.Email.value,
“测试类型”:形式测试值,
“产品类型”:of form.controller.value,
“协议类型”:oForm.Protocol.value,
“IP地址”:of form.IP.value,
“Chasis输入”:of form.chassis.value
};
if(Object.keys(额外).length==2){
数据[“HBA_端口”]=oForm[“HBA端口”]。值;
数据[“MC_IP”]=形式[“额外IP”]值;
数据[“MC_网络掩码”]=oForm[“网络掩码ip”]。值;
数据[“MC_网关”]=oForm[“网关ip”]。值;
数据[“MC”]=oForm[“rbod MC”]值;
数据[“SC”]=oForm[“rbod SC”]值;
数据[“FU”]=表格[“rbod FU”]的值;
数据[“EC”]=oForm[“rbod EC”]值;
数据[“控制器ID”]=表单[“控制器ID”]值;
}
让有效负载=Object.keys(数据)
.map(键=>{
返回[key,data[key]];
})
.join(String.fromCharCode(10));
constblob=newblob([payload],{type:“text/plain”});
const file=“formData.yaml”;
让link=document.createElement(“a”);
link.download=文件;
如果(window.webkitURL!=null){
link.href=window.webkitURL.createObjectURL(blob)