如何使用HTML中的javascript打开html中的文本并将其保存到文件中

时间:2010-07-11 17:05:31

标签: javascript html

我有一个textarea和两个按钮

喜欢

<form name="form1">
<textarea name="text1"> HTML Codes goes here </textarea>
<input type="button"> Open File
<input type="button"> Save File
</form>

当我点击“保存”按钮时,我希望保存textarea中的文本(我希望它弹出“另存为”对话框)

当我点击“打开”时,它应该允许我选择任何html或文本文件...并将textfile / htmlcode中的文本加载到我的textarea中。

http://www.dynamicdrive.com/forums/archive/index.php/t-10532.html

中找到此代码
  <html>
<head>
</head>
<body>
<script language="javascript">
function WriteToFile()
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var s = fso.CreateTextFile("C:\\NewFile.txt", true);
var text=document.getElementById("TextArea1").innerText;
s.WriteLine(text);
s.WriteLine('***********************');
s.Close();
}
</script>

<form name="abc">
<textarea name="text">FIFA</textarea>
<button onclick="WriteToFile()">Click to save</Button>  
</form> 

</body>
</html>

如果它为用户提供保存文件的选择,这将有效...我忘了说所有文件都在客户端计算机中。

Thanx提前

-Miss Subanki

3 个答案:

答案 0 :(得分:3)

保存 - 您必须在服务器端执行此操作,但这并不困难;在PHP中,您只需在输出数据之前强制使用一些HTTP头:

// set the content type
header('Content-type: text/plain');
// force save as dialog (and suggest filename)
header('Content-Disposition: attachment; filename="download.txt"');
// next echo the text
echo $_POST['text'];

打开 - 你必须处理上传的数据服务器端,除非你在firefox中使用一些专有的(尽管是“开放的”)API。

答案 1 :(得分:1)

您可以使用Javascript保存文件,但必须使用execcommand,然后才能使用Internet Explorer。

document.execCommand('SaveAs', true);

答案 2 :(得分:-1)

这仅适用于 IE ,因为ActiveXObject可以访问文件(读/写)。所以,你可以做到这一点

我还记得,我尝试过一次并成功了

但请记住它只适用于IE