2010-07-11 20 views
5

ho una textarea e due pulsantiCome aprire e salvare il testo in HTML in un file utilizzando JavaScript in HTML

come

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

quando clicco su "salva" Voglio che il testo in textarea da salvare (voglio che compaia la finestra di dialogo "Salva con nome")

Quando clicco su "apri", dovrebbe permettermi di scegliere qualsiasi html o file di testo ... e caricare il testo nel textfile/htmlcode nella mia textarea.

Abbiamo trovato questo codice nella 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> 

questo funzionerebbe se porvides all'utente la scelta di salvare il file ... e ho dimenticato di dire che tutti i file sono nel computer client.

Grazie in anticipo

-Signorina Subanki

+0

Nah, la partita non parte per più di un'ora, un sacco di tempo di fermarsi su SO. Penso che nessuno stia rispondendo perché stai chiedendo qualcosa che è impossibile ... ma lascerò la risposta definitiva ai guru di JavaScript. – Thomas

+0

Grazie per averci supportato a proposito! : D – Thomas

+0

oh Da Netherlands, non c'è bisogno di ringraziare, hanno giocato molto bene .... ora io sono un grande fan dei Paesi Bassi .... che meritano di vincere ... – subanki

risposta

1

È possibile salvare un file con Javascript, ma è necessario utilizzare execcommand e quindi si sarà limitato a Internet Explorer.

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

che va bene puoi darmi il codice in modo che io possa testarlo ..io sono un po 'di noob in codifica – subanki

+0

Prova questo. Non è sicuro se questo è quello che è. Non ho usato javascript in così tanto tempo. Una rapida ricerca su Google su execCommand rivelerà di più. document.execCommand ('SaveAs', true); –

+0

grazie a JC Leyba – subanki

3

risparmio - Devi farlo sul lato server, ma non è difficile; in PHP si sarebbe solo forzare alcune intestazioni HTTP prima di emettere i dati:

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

di apertura - si deve gestire il lato server dei dati caricati, a meno di utilizzare un po '(anche se "aperta") API proprietarie come in firefox.

+0

voglio solo che recuperi i codici html in un file html quando clicchiamo sul pulsante aperto ... sono sei sicuro che non può essere fatto – subanki

+1

Ma da dove? Se è il server, allora va bene, se è il client, quindi non può essere fatto in modo trasparente. – Christian

+0

Cosa succede se si utilizza il codice per leggere la cronologia dell'utente o l'elenco delle password salvate? Con il "pulsante/finestra di apertura" l'utente è costretto a scegliere il fail, rendendolo quindi alquanto sicuro (a meno che l'utente non sia seriamente stupido ;-)). – Christian

-1

Questo è possibile solo in IE, dal momento che la ActiveXObject ha accesso ai file (lettura/scrittura). così, lo si può fare

ricordo ancora, ho provato una volta, ma ho riuscito

ma ricordate che funziona solo in IE

Problemi correlati