Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сохранить данные в файл? Возможно такое на JavaScript? (https://javascript.ru/forum/misc/1198-kak-sokhranit-dannye-v-fajjl-vozmozhno-takoe-na-javascript.html)

Makarov 04.10.2013 13:34

Ух ты, знатная некрофилия)

KNeaDeD 24.06.2015 18:54

Цитата:

Сообщение от Forgott (Сообщение 2231)
Доброго времени суток!
Есть страница, где юзер вводит свои данные (имя там, фамилию, телефон). Так вот, надо чтобы вводимые данные сохранялись в обычный текстовый файл. На 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>

Safort 24.06.2015 20:05

KNeaDeD,
чуваак, эта тема уже несколько лет как неактуальна..

cyber 26.06.2015 18:05

мне интересно как люди попадают в такие темы?)

Safort 26.06.2015 18:35

cyber,
мне и самому это интересно. Думаю из поисковика.

cyber 26.06.2015 19:11

Safort, тоже так подозреваю, мне кажется дату сообщения нужно жирным выделять)


Часовой пояс GMT +3, время: 11:38.