首页 > 解决方案 > 我如何将 html 表单中的输入输入到 .txt 文件中

问题描述

我目前正在开发一个 HTML 网站,但不知道如何接受表单输入。我希望它能够进入带有其他答案的文本文件。目前我有一个本地 .txt 文件,我希望将字符串放入其中。

标签: htmlformsinput

解决方案


在 HTML5 之前,您无法做到这一点。事实上,我的回答是你不能用 HTML 和 JavaScript 来做这件事,因为它是一个安全漏洞。但似乎人们偶尔确实需要这样做,现在有一种方法,无需绕过安全协议。

为了能够将 Web 浏览器中的文件和文件夹保存到本地硬盘,您需要访问文件系统。由于这意味着潜在的巨大安全漏洞,因此默认情况下是不允许的。作为全有或全无之间的折衷方案,FileSystem-API 只允许访问由浏览器控制的本地驱动器上的特定受保护区域。

https://www.jotform.com/blog/html5-filesystem-api-create-files-store-locally-using-javascript-webkit/

这篇文章继续说它是如何在 HTML5 中完成的,或者更确切地说是 HTML5 文档中的 JavaScript。

window.webkitRequestFileSystem(window.TEMPORARY, 1024*1024, SaveDatFileBro);
window.webkitRequestFileSystem(window.PERSISTENT , 1024*1024, SaveDatFileBro);

navigator.webkitPersistentStorage.requestQuota(1024*1024, function() {
  window.webkitRequestFileSystem(window.PERSISTENT , 1024*1024, SaveDatFileBro);
})
function SaveDatFileBro(localstorage) {
  localstorage.root.getFile("info.txt", {create: true}, function(DatFile) {
    DatFile.createWriter(function(DatContent) {
      var blob = new Blob(["Lorem Ipsum"], {type: "text/plain"});
      DatContent.write(blob);
    });
  });
}

这意味着您需要将值从 HTML 表单获取到 JavaScript。

HTML:

<input type="text" name="name" id="uniqueID" value="value" />

JS:

var nameValue = document.getElementById("uniqueID").value;

JavaScript - 获取 HTML 表单值


推荐阅读