2010-07-11 29 views
5

使用JavaScript來保存HTML文本文件我有一個textarea和兩個按鈕如何打開和HTML

<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> 

如果porvides用戶選擇保存文件這樣的工作......我忘了說,所有的文件都在客戶端計算機。

thanx提前

-Miss Subanki

+0

不,這場比賽是不是開始了一個多小時,大量的有時間在SO上閒逛。我認爲沒有人會回答,因爲你問的事情是不可能的......但是我會給JavaScript大師留下明確的答案。 – Thomas 2010-07-11 17:14:13

+0

感謝您的支持! :D – Thomas 2010-07-11 17:14:55

+0

哦,你來自荷蘭,無需感謝,他們打得非常好....現在我是一個荷蘭球迷......他們應該贏得... – subanki 2010-07-11 17:18:45

回答

1

您可以使用Javascript保存文件,但必須使用execcommand,然後才能限制爲Internet Explorer。

document.execCommand('SaveAs', true); 
+1

這是好的可以ü提供我的代碼,以便我可以測試它..我是編碼 – subanki 2010-07-11 17:31:07

+0

嘗試this.Not不知道這是什麼。這麼久沒有使用JavaScript了。在execCommand上快速搜索Google會揭示更多。 document.execCommand('SaveAs',true); – 2010-07-11 17:42:53

+0

thanx to JC Leyba – subanki 2010-07-11 17:47:39

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']; 

開幕 - 你必須處理上傳的數據服務器端,除非你使用一些專有的(儘管是「開放」)API就像在Firefox瀏覽器。

+0

我只是想要它在html文件中獲取html代碼,當我們點擊打開按鈕... ...你確定它不能完成 – subanki 2010-07-11 17:16:52

+1

但是從哪裏?如果它是服務器,那麼沒關係,如果它是客戶端,那麼它不能透明地完成。 – Christian 2010-07-11 17:20:01

+0

如果您使用您的代碼來讀取用戶的歷史記錄或保存的密碼列表,該怎麼辦?用「打開按鈕/對話框」,用戶被迫選擇失敗,從而使它有點安全(除非用戶嚴重愚蠢;-))。 – Christian 2010-07-11 17:21:30

-1

這是可能只在IE,因爲ActiveXObject訪問文件(讀/寫)。所以,你可以做到這一點

我還記得,我試了一次,得到了成功

但請記住它只能在IE