Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “显示”;另存为;对话框并将textarea内选定文本的内容保存到客户端';s电脑_Javascript_Html - Fatal编程技术网

Javascript “显示”;另存为;对话框并将textarea内选定文本的内容保存到客户端';s电脑

Javascript “显示”;另存为;对话框并将textarea内选定文本的内容保存到客户端';s电脑,javascript,html,Javascript,Html,可能重复: 我有一个表单,在文本区域中显示一些与用户相关的信息。 如果用户希望保存信息,他/她将从文本区域复制文本,然后单击[保存]按钮,出现另存为对话框,允许用户选择适当的路径,然后将所选文本导出到文本文件 问题是,我不知道如何显示“另存为”对话框,并在客户端站点以文本文件的形式写入所选路径(它可能使用Javascript或Jquery?)。所以我想知道是否有人能给我一些提示 非常感谢。IE唯一解决方案: function SaveContents(element) { if (ty

可能重复:

我有一个表单,在文本区域中显示一些与用户相关的信息。 如果用户希望保存信息,他/她将从文本区域复制文本,然后单击[保存]按钮,出现另存为对话框,允许用户选择适当的路径,然后将所选文本导出到文本文件

问题是,我不知道如何显示“另存为”对话框,并在客户端站点以文本文件的形式写入所选路径(它可能使用Javascript或Jquery?)。所以我想知道是否有人能给我一些提示

非常感谢。

IE唯一解决方案:

function SaveContents(element) {
    if (typeof element == "string")
        element = document.getElementById(element);
    if (element) {
        if (document.execCommand) {
            var oWin = window.open("about:blank", "_blank");
            oWin.document.write(element.value);
            oWin.document.close();
            var success = oWin.document.execCommand('SaveAs', true, element.id)
            oWin.close();
            if (!success)
                alert("Sorry, your browser does not support this feature");
        }
    }
}
所需的HTML示例:

<textarea id="myText"></textarea><br />
<button type="button" onclick="SaveContents('myText');">Save</button>

拯救
这将把给定textarea的内容保存到一个名为textarea ID的文件中

对于其他浏览器,您可以阅读以下内容:

测试用例和工作示例:(仅限于…)

注:


它可能不适用于txt以外的文件类型,我认为您不能这样做。@jledev:但公认的答案是服务器端。@tlpd:在javascript中不可能,除非客户端在Windows上有IE,并且其安全权限允许创建COM对象(IE默认禁止)。您可能希望扩展搜索和标记选项,以包括flash、java小程序等@bob the destroyer:因为这在JS中是不可能的:@Valentin Rocher:最初的问题是“您可以单独使用javascript(非特定于浏览器)”吗。如果您愿意,您可以只使用javascript擦除客户机的硬盘,前提是他们有IE、Windows,并且他们允许通过安全权限擦除。影子向导提到了
execCommand
技术作为解决这个问题的方法。否则,是的,您将不得不引入javascript以外的内容来访问客户机,尤其是在不同的浏览器之间。但是,如果IE是您唯一的目标受众,并且他们信任您,只需引入
ActiveXObject()
谢谢您的影子向导,它被选中了,这样对我很有效。@tlpd干杯,请接受这个答案,然后再检查您以前的问题,并接受解决您问题的答案。我有一位客户坚持我的网页必须支持IE9。这个解决方案有效。