Сообщение от Forgott
|
Доброго времени суток!
Есть страница, где юзер вводит свои данные (имя там, фамилию, телефон). Так вот, надо чтобы вводимые данные сохранялись в обычный текстовый файл. На PHP такое без проблем, а вот на JavaScript я ничего похожего не нашел. Если кто знает, то можно небольшой и желательно простенький пример с комментами?
|
А вот и возможно! Тех кто писал выше, что это невозможно - проклинаю 10 раз!
Делюсь двумя вариантами с комментариями.
Первый - высвечивает текстовый блок, в котором ты забиваешь что-нибудь, и скрипт "дописывает" в существующий файл.
<!DOCTYPE html>
<html>
<head>
<title>Open and Write</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=10" />
<script language="JavaScript">
function WriteToFile()
{
var fso = new ActiveXObject('Scripting.FileSystemObject');
filehandle = fso.OpenTextFile("C:\\Time\\info.txt",1); /* Открывает файл*/
var first = filehandle.ReadAll(); /* Читает из файла и переменная first и есть весь текст, который он считал*/
var s = fso.CreateTextFile("C:\\Time\\info.txt", true); /* перезаписывает файл, открывает для редактирования*/
var second = document.getElementById("filecontents").value; /* Читает из текстбокса filecontents и переменная second и есть весь текст, который он считал*/
s.WriteLine (first); /* записывает весь текст из переменной first, имитирует Enter*/
s.WriteLine (second); /* записывает весь текст из переменной second, имитирует Enter*/
s.Close(); /*закрывает файл*/
}
</script>
</head>
<body>
<textarea id="filecontents" cols="50" rows="30"></textarea>
<input type="button" value="Дописать" onclick="WriteToFile()">
</body>
</html>
Второй - считывает из файла, и высвечивает в текстблок. Ты там редактируешь, нажимаешь "Дописать", он заменяет файл с текстом из текстблока
<!DOCTYPE html>
<html>
<head>
<title>Open and Write</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=10" />
<script language="JavaScript">
function readfile()
{
var fso,filehandle,contents;
fso = new ActiveXObject("Scripting.FileSystemObject");
filehandle = fso.OpenTextFile("C:\\Time\\info.txt",1);/* Открывает файл*/
contents = filehandle.ReadAll(); /* Читает из файла и переменная contents и есть весь текст, который он считал*/
if (contents) document.all("filecontents").value = contents; /* Вставляет в текстбокс filecontents текст contents*/
filehandle.close();/* Закрывает файл*/
}
function WriteToFile()
{
var fso = new ActiveXObject('Scripting.FileSystemObject');
var s = fso.CreateTextFile("C:\\Time\\info.txt", true); /* перезаписывает файл, открывает для редактирования*/
var second = document.getElementById("filecontents").value; /* Читает из текстбокса filecontents и переменная second и есть весь текст, который он считал*/
s.WriteLine (second); /* записывает весь текст из переменной second, имитирует Enter*/
s.Close(); /*закрывает файл*/
}
</script>
</head>
<body onload="readfile()">
<textarea id="filecontents" cols="50" rows="30"></textarea>
<input type="button" value="Дописать" onclick="WriteToFile()">
</body>
</html>