我有一个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
答案 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