2010-07-11 61 views
5

i tiene un área de texto y dos botonesCómo abrir y guardar mensajes de texto en html en un archivo usando javascript en HTML

como

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

cuando hago clic en "Guardar" Quiero que el texto en textarea para ser guardado (quiero que aparezca el cuadro de diálogo "guardar como")

Cuando hago clic en "abrir", debería permitirme elegir cualquier html o archivo de texto ... y cargar el texto en el textfile/htmlcode en mi textarea.

Encontramos este código en 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> 

esto funcionaría si porvides al usuario la opción para guardar el archivo ... y se me olvidó decir que todos los archivos están en el equipo cliente.

Gracias por adelantado

-Miss Subanki

+0

No, el partido no se inicia más de una hora, un montón de hora de pasar el rato en SO. Creo que nadie contesta porque estás preguntando algo que es imposible ... pero dejaré la respuesta definitiva a los gurús de JavaScript. – Thomas

+0

¡Gracias por apoyarnos por cierto! : D – Thomas

+0

oh ustedes de países bajos, no hay necesidad de agradecer, jugaron muy bien ... ahora soy un gran admirador de los países bajos .... se merecen ganar ... – subanki

Respuesta

1

Puede guardar un archivo con Javascript, pero tiene que usar execcommand y entonces estaría limitado a Internet Explorer.

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

que está bien ¿me puede proporcionar el código para que pueda probarlo ... soy un pequeño novato en la codificación – subanki

+0

Pruebe esto. No estoy seguro de si eso es lo que es. No he usado javascript en tanto tiempo. Una búsqueda rápida en Google en execCommand revelará más. document.execCommand ('SaveAs', true); –

+0

gracias a JC Leyba – subanki

3

Ahorro - Tienes que hacer que del lado del servidor, pero no es difícil; en PHP usted acaba de obligar a algunas cabeceras HTTP antes de dar salida los datos:

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

Apertura - Usted tiene que manejar el lado del servidor de datos cargado, a menos que utilice algunos (aunque sea "abierta") de la API propietario como en Firefox.

+0

solo quiero que busque los códigos html en un archivo html cuando hacemos clic en el botón de abrir ... son Seguro que no se puede hacer – subanki

+1

Pero, ¿de dónde? Si es el servidor, entonces está bien, si es el cliente, entonces no se puede hacer de forma transparente. – Christian

+0

¿Qué pasa si utilizó su código para leer el historial del usuario o la lista de contraseñas guardadas? Con el "botón/diálogo abierto", el usuario se ve obligado a elegir el error, lo que lo hace un tanto seguro (a menos que el usuario sea realmente tonto ;-)). – Christian

-1

Esto es posible sólo en IE, ya que el ActiveXObject tiene acceso a los archivos (lectura/escritura). así, puede hacerlo

Todavía recuerdo, probé una vez, pero yo logré

pero recuerda que sólo funciona en IE

Cuestiones relacionadas