尝试将用户输入保存到xml文件吗?

时间:2019-07-02 16:16:38

标签: javascript html xml

我做了一个肮脏的网站,只是为了存储我需要记住的所有链接。效果很好,但是我想让用户保存他们已经输入的所有链接,以使他们在关闭浏览器选项卡时不会丢失所有链接。

我相信实现这一目标的最佳方法是使用xml,但是我绝对欢迎任何想法。

<script>
  function GetLinks() {
    var x = document.createElement("INPUT");
    var y = document.createElement("INPUT");
    y.setAttribute("type", "text");
    y.setAttribute("value", "Name");
    document.body.appendChild(y);
    x.setAttribute("type", "url");
    x.setAttribute("value", "URL");
    document.body.appendChild(x);
    var z = document.createElement("HR")
    document.body.appendChild(z);
 }

我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

   <form action="" method="post">
        <p>
           <label for="firstname">First Name:</label>
            <input type="text" name="firstname" id="firstname">

            <label for="lastName">Last Name:</label>
            <input type="text" name="lastname" id="lastname">


        <button type="button" onclick="download(this.form)" id="submitButton">Download</button>

</form>

JS

function downloadData(contentType,data,filename){

   var link=document.createElement("A");
   link.setAttribute("href",encodeURI("data:"+contentType+","+data));
   link.setAttribute("style","display:none");
   link.setAttribute("download",filename);
   document.body.appendChild(link); //needed for firefox
   console.log(link.outerHTML);
   link.click();
   setTimeout(function(){
    document.body.removeChild(link);
   },1000);
}

function fromToXml(form){
    var xmldata=['<?xml version="1.0"?>'];
      xmldata.push("<form>");
    var inputs=form.elements;
    for(var i=0;i<inputs.length;i++){
        var el=document.createElement("ELEMENT");
      if (inputs[i].name){
        el.setAttribute("name",inputs[i].name);
        el.setAttribute("value",inputs[i].value);
        xmldata.push(el.outerHTML);
      }

    }
    xmldata.push("</form>");
    return xmldata.join("\n");
}


function download(frm){

    var data=fromToXml(frm);
  console.log(data);

  downloadData("text/xml",data,"export.xml");
}

另外,我引用的是演示URL,请输入值,然后按下载,它将向您显示值https://jsfiddle.net/0he5ta8j/,让我知道您是否正在浏览