如何让 Javascript 函数将两个文本输入保存到一个文本 (.txt) 文件中?

How to have Javascript function save two text inputs into one text (.txt) file?

所以我正在编写一个网页,用户在其中将值输入到两个文本区域字段中,一旦他们单击提交按钮,程序就应该开始下载两个文本输入并将它们保存到一个文本文件中.到目前为止,我已经弄清楚如何只将一个文本输入保存到文本文件中,并且我一直在尝试弄清楚如何让我的 Javascript 函数为两个文本都完成此操作输入。这是我的 html 和 javascript 代码:

function saveIndex() {
  var myBlob = new Blob([document.getElementById('textbox').value], {
    type: "text/plain"
  });

  var url = window.URL.createObjectURL(myBlob);
  var anchor = document.createElement("a");
  anchor.href = url;
  anchor.download = "textfile.txt";

  anchor.click();
  window.URL.revokeObjectURL(url);
  document.removeChild(anchor);
}
<body>
  <label for="textbox">Textbox1</label>
  <textarea id="textbox1"></textarea>

  <label for="bio">Textbox2</label>
  <textarea id="textbox2"></textarea>

  <button type="button" id="bt" value="Exporter" onclick="saveIndex()" for="textbox"> EXPORT </button>
</body>

我知道我可能需要为我的第二个 textarea 标签创建一个新的 Blob,但我已经试过了,还尝试了不同的方法来将它实现到我的函数中,但没有成功。我不能为第二个 textarea 标签创建另一个函数,这必须在当前的 saveIndex() 函数中完成。任何帮助将不胜感激!

您试图获取 ID 为 'textbox' 的元素的值,但没有这样的元素。您有 'textbox1' 和 'textbox2'。此代码将检索两者并将它们与换行符连接到您的 blob 中。

我已经修复了您 HTML 中的一些错误(标签与输入的链接不正确),另外请使用 let & const 而不是古老的 var!

function saveIndex() {
  const boxString1 = document.getElementById('textbox1').value
  const boxString2 = document.getElementById('textbox2').value
  const myBlob = new Blob([`${boxString1}\n${boxString2}`], {
    type: "text/plain"
  });

  const url = window.URL.createObjectURL(myBlob);
  const anchor = document.createElement("a");
  document.body.appendChild(anchor);
  anchor.href = url;
  anchor.download = "textfile.txt";

  anchor.click();
  window.URL.revokeObjectURL(url);
  anchor.remove();
}
<body>
  <label for="textbox1">Textbox1</label>
  <textarea id="textbox1"></textarea>

  <label for="textbox2">Textbox2</label>
  <textarea id="textbox2"></textarea>

  <button type="button" id="bt" onclick="saveIndex()">EXPORT</button>
</body>