使用 jquery/javascript 将数据从 html 表单保存到文本文件

Posted

技术标签:

【中文标题】使用 jquery/javascript 将数据从 html 表单保存到文本文件【英文标题】:Saving a data from html form to text file with jquery/javascript 【发布时间】:2014-12-10 10:02:19 【问题描述】:

我正在尝试为我的网站创建一个 cmets 选项卡并插入一个 html 表单。

到目前为止,我的表单和 cmets 选项卡已准备就绪。我想创建一个文本文档来存储 HTML 表单输入。

我找不到合适的方法来做到这一点,比如 C++ 的fstream。我用 php 找到了一些代码,但我也不想使用 PHP。

有什么办法吗?

【问题讨论】:

如果您想在服务器上存储来自 HTML 表单的数据,您必须使用以您想使用的任何语言编写的后端。最受欢迎的肯定是 PHP 或者 Python。如果你想使用 javascript,你必须为你的 Apache 编写一个插件(如果没有的话),但我会更关心安全性。 【参考方案1】:

您可以使用 datauri 和锚元素的新 download 属性 (<a>) 来实现它,而无需服务器。随便在文本框中输入一些东西,点击“导出”,看看会发生什么:

var container = document.querySelector('textarea');
var anchor = document.querySelector('a');

anchor.onclick = function() 
    anchor.href = 'data:text/plain;charset=utf-8,' + encodeURIComponent(container.value);
    anchor.download = 'export.txt';
;
<textarea></textarea>
<p><a href="#">Export</a></p>

您可以实现其他类型的文件下载,只需将text/plain 更改为正确的 MIME 类型,并确保您正确编码文件内容。例如,&lt;canvas&gt; 是生成图像的好方法。

【讨论】:

这行得通,谢谢。但是例如,有 10 个人在我的网站上发表了评论,我想如何用一个 .txt 来查看所有的 cmets?当您按下导出时,此代码会导出当前的 .txt,对吧? @Getdachopa 在这种情况下,您需要获取所有 cmets,格式化和连接,然后获取文本内容,并生成文件。但是,为此我建议您在文本上输出 HTML,因为 HTML 在 CSS 的帮助下可能具有更好的可读性。 如何在没有锚标签的情况下通过按钮使用它 @Prem hrefdownload 属性仅适用于 &lt;a&gt; 元素,因此如果没有它,您将无法执行此操作。但是,您可以使 &lt;a&gt; 元素不可见,并在单击 &lt;button&gt; 时调用其 click() 方法 - button.onclick = function() anchor.click(); ;

以上是关于使用 jquery/javascript 将数据从 html 表单保存到文本文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jquery/javascript 将文本插入 json [重复]

在 WooCommerce 结帐时将产品详细信息从订单传递到 jQuery/javascript

将具有多个字段的表单数据转换为 JSON Jquery Javascript

如何使用 jquery\javascript 从 firefox 浏览器打印 PDF 文档?

如何使用 jQuery/Javascript 从内存中删除对象? [复制]

javascript 使用JQuery #javascript #jquery将“a”tages滚动到div ID