使用 JavaScript 将文本字段保存到 TXT 文件

save text fields to txt file using javascript

本文关键字:TXT 文件 保存 字段 JavaScript 文本 使用      更新时间:2023-09-26

>我在 html 文件中有一个表单,看起来像这样:

 <td>appKey</td>
                <td><input type="text" id="_appKey" size="40"></td>
            </tr>
            <tr>
                <td>bundleId</td>
                <td><input type="text" id="_bundleId" size="40"></td>
            </tr>
            <tr>
                <td>serverURL</td>
                <td><input type="text" id="_serverURL" size="40"></td>
            </tr>

我将用信息填充这些文本区域,并且我需要一个函数,该函数允许我将键入的信息保存到计算机上的txt文件中(使用javascript)。合理地使用键=值形成(键是我给字段的id,值是我在字段中输入的信息)

任何帮助将不胜感激。

通常,

您可以使用 blob 并下载文本文件,而无需任何提示消息。

看小提琴:http://jsfiddle.net/xhbhqusz/12/

Javascript 不适合这种事情,但现代浏览器提供了 Blob 类,该类可以通过单击锚标记来创建文本文件供您下载。

            <tr> <td>appKey</td>
                <td><input type="text" id="_appKey" size="40"></td>
                    <a download="info.txt" class="downloadlink" >Download</a> </p>
            </tr>
            <tr>
                <td>bundleId</td>
                <td><input type="text" id="_bundleId" size="40"></td>
                     <a download="info.txt" class="downloadlink" >Download</a> </p>
            </tr>
            <tr>
                <td>serverURL</td>
                <td><input type="text" id="_serverURL" size="40"></td>
                     <a download="info.txt" class="downloadlink" >Download</a> </p>
            </tr>

还有javascript,这个stackoverflow答案的逻辑

(function () {
var textFile = null,
  makeTextFile = function (text) {
    var data = new Blob([text], {type: 'text/plain'});
    // If we are replacing a previously generated file we need to
    // manually revoke the object URL to avoid memory leaks.
    if (textFile !== null) {
      window.URL.revokeObjectURL(textFile);
    }
    textFile = window.URL.createObjectURL(data);
    return textFile;
  };

  var inputFields = document.getElementsByTagName('input');
      for(var i = 0; i < inputFields.length; i++) {
          (function(i){
            inputFields[i].addEventListener('keyup', function () {
                var link = document.getElementsByClassName('downloadlink')[i];
                link.href = makeTextFile(inputFields[i].value);
            });
          })(i);
      }
})();