Записать в файл, парамерт фунцкии в Jawascript
Всем привет
Есть программный код ------------------------------------------------------------------------ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Документ Без Имени</title> </head> <body> <script type="text/JavaScript"> function CreateFile() { var fso, tf; fso = new ActiveXObject("Scripting.FileSystemObject"); tf = fso.CreateTextFile("c:\\testfile.txt", true); // Вставка строки с переносом на новую. tf.WriteLine('strochka') ; // Вставка 3 пустых строк. tf.WriteBlankLines(3) ; // Вставка новой строки, без переноса. tf.Write ("This is a test."); tf.Close(); } </script> <input type="button" value="Первая кнопка" onClick="CreateFile()"> <input type="button" value="вторая кнопка" onClick="CreateFile()"> <input type="button" value="Третья кнопка" onClick="CreateFile()"> </body> </html> -------------------------------------------------------------- как сделать чтобы при нажатии на кнопку "Первая кнопка" записывалось в файл число например ("9"), при нажатии на вторую,затиралось бы первое число и писалось ("15"), при нажатии на третью кнопку ("256"); то есть как сделать чтобы функция CreateFile была со строковым параметром например (CreateFile(string)). Вопрос 2 Почему не срабатывает данный скрипт в FireFox. Спасибо. |
Цитата:
|
Можно использовать localstorage.
function createFile(str, repl) { var storage = (window.localStorage && window.localStorage.setItem) ? window.localStorage : null; if(storage) { if(!repl) { storage.setItem(storage.length + 1, str); } else { storage.setItem(storage.length, str); } } } <input type="button" value="Первая кнопка" onClick="createFile(9)"> <input type="button" value="вторая кнопка" onClick="createFile(15)"> <input type="button" value="Третья кнопка" onClick="createFile(256)"> |
Мне нужно чтобы число было в файле я потом читать его другой программой буду
просто я не вижу в приведенном примере было видно что записывается в файл например 1.txt. Я просто новичек в jawa пытаюсь понять. |
Ну, тогда нужно java. С помощью JavaScript не получится писать фаилы на компьютер пользователя.
|
можно в куки записать. Куки - это файл. Если конечно юзверь их не отключил.
|
В современных браузерах можно использовать Blob и вывести запрос на сохранение файла. Конкретно писать - не плучится.
|
Вопрос как можно сделать так чтобы функция Createfile(number) могла выполняться со стороны клиента?
Если я захожу на страничку с сервера то есть (у меня G-Server крутиться на машине я с той же машины через браузер на неё захожу то все работает так как надо). Фунцкия не срабатывает если я захожу с клиентской машины. То есть я в ручную создал папку файл на клиентской машине но туда ничего не пишется. |
повторю выше написанное
javascript не может писать в файлы |
Молодой человек как же не может у меня пишет в файл числа
только на серверной машине на клиентской нет |
Jawascript
|
Настроить параметры безопасности IE на клиенте: разрешить ActiveX и запись. Только вам внезапно может попасться в интернете сайт который ещё помнит такие штуки и убьёт комп.)
|
Цитата:
|
animhotep,
Ну одно время был предложен стандарт FileWriter и даже вроде был реализован в каком-то хроме...) |
это же здоровенная дыра в безопасности, думаю не будет такого никогда
|
Цитата:
|
Ребят я прошу прощения
Я подумал на досуге, надо в точности до наоборот. Нужно чтобы клиент когда кнопку нажимал надо чтобы сервере писалось число в файл. Можно ли это на jawascript сделать? |
а что такое jawascript?
|
Цитата:
|
Цитата:
<html> <head> </head> <body> <input type="text" id="data" name="data"> <input type="button" value="setData" onclick="createFile();"> <script> function createFile() { var setData = document.getElementById('data').value; var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'http://domain/ini.php&data=' + setData; head.appendChild(script); } </script> </body> </html> Пропиши в скрипте свой домен и создаешь файл на сервере ini.php в него код ниже. Серверная часть: <?php $logfile = fopen('logi/logFile.txt', 'a'); fwrite($logfile, $_GET['data']."\r\n"); fclose($logfile); ?> В корне домена создай папку logi поставь на неё права на запись drwxrwxrwx (777) В итоге в инпуте пиши текст и кликай на бутон, данные отправятся на твой сервер и файл создастся в папке logi в файле logFile.txt Это как я понял примерно то что тебе нужно, далее можно править под себя. |
Если можно еще вопросик.
Поставил программу XAMPP. Если кто работал с ней,подскажите пожалуйста где и в каком файле можно прописать серверную часть? Спасибо. |
XAMPP это вроде как веб сервер, на подобие денвера
файлы будут в C:/xampp/htdocs |
Я пытаюсь разобраться просто
вот код Серверная часть: 1 <?php 2 $logfile = fopen('logi/logFile.txt', 'a'); 3 fwrite($logfile, $_GET['data']."\r\n"); 4 fclose($logfile); 5 ?> Я его сохраняю в .php файле и файл просто тупо кладу в эту папку?: |
именно, сохрани это в файл C:/xampp/htdocs/test.php
в браузере набери http://localhost/test.php?data=qwe если всё ок то в файле будет слово qwe |
это понятно
не понятно вот что Если у клиента на странице несколько кнопок Button1,Button2,Button3,Button4................. Я открою небольшой секрет на самом деле я пытаюсь сделать тонкого клиента на LabVIEW. Что такое LabVIEW можно найти в интернете. Если в нескольких словах то это графический язык программирования для создания промышленных приложений. Смысл моей задачи в то что например, есть панель технологического прибора (осциллографа) и к этой панели доступ нужен через IE. Но на панели осциллографа есть кнопки которые вызывают диалоговые окна. У нас была проблема такая что при нажатии на кнопку не вызвалось диалоговое окно у клиента то оно вызывалось на сервере. Я решил попробовать использовать в работе HTML код. Сначала я научился делать чтобы просто страница обновлялась у клиента. Потом научился вызвать диалоговые окна посредством вызова HTML страницы. Но возникла проблема на диалоговых окнах есть элемент TAB он показывает изображение например (1-трансофрматор, 2-трансофрамтор и т.д.). Элемент TAB имеет входной параметр число. Я пришел к выводу что нужно реализовать решение такое: Клиент у себя на машине нажимает на кнопку вызова диалогово окна и на сервере в текстовой файлик записывается число например 124. Далее программа написанная на LabVIEW просто читает этот текстовый файлик анализирует число и в соответствии с ним показывает картинку трансформатора (1-трансофрматор, 2-трансофрамтор и т.д.). Далее что такое например: <area shape="rect" coords="334,640,390,694" href="#1" onClick="CreateFile();window.open('TraNS.html', 'newWin', 'Toolbar=0, Location=0, Directories=0, Status=0, Menubar=0, Scrollbars=0, Resizable=0, Copyhistory=1, Width=800, Height=600')"> -это кнопка мы нажимаем на неё и на северной машине в текстовый файлик пишется число. Теперь само главное поскольку я чайник в PHP я прошу помощи в синтаксисе как правильно написать команду <area shape="rect" coords="334,640,390,694" href="#1" onClick="CreateFile();window.open('TraNS.html', 'newWin', 'Toolbar=0, Location=0, Directories=0, Status=0, Menubar=0, Scrollbars=0, Resizable=0, Copyhistory=1, Width=800, Height=600')"> чтобы в файле не у клиента на машине а на сервере записало число например 124, или какое другое число например 256. Надеюсь я понятно мысль свою изложил. Просто я пытался по разному делать не получается. Просто подскажите мне тупому как правильно команду оформить. Процедура Create мне кажется должна быть с параметром. |
это всё круто конечно, но что вы забыли на этом сайте?
|
вы не поняли
меня конкретно интересует вот что Есть например вот такая кон конструкция <area shape="rect" coords="334,640,390,694" href="#1" onClick="CreateFile();window.open('TraNS.html', 'newWin', 'Toolbar=0, Location=0, Directories=0, Status=0, Menubar=0, Scrollbars=0, Resizable=0, Copyhistory=1, Width=800, Height=600')"> есть скрипт на сервере <?php 2 $logfile = fopen('logi/logFile.txt', 'a'); 3 fwrite($logfile, $_GET['data']."\r\n"); 4 fclose($logfile); 5 ?> я хочу понять как правильно записать <area shape="rect".......... что бы скрипт на сервере писал различные числа в файл? просто синтаксис. не надо вам погружаться в labview и прочие дебри смысл моего опуса выше только в этом. Я же написал я не понимаю как прописать команду на странице. А вы ругаться сразу. как например написать <area shape="rect".......... что ьы на сервере записалось в текстовый файл число 10 или 16. вот и все. |
нужно в js переменную записать эти числа, воспользовавшись html атрибутом data например
|
вы не могли бы привести пример
просто если разложить по полочкам я сохранил северный скрипт в файле test.php. как будет выглядеть команда <area shape="rect".......... |
не пойму на каком этапе сложность
если есть js переменная с нужным значением, то в соседней теме есть пример как её передать в php http://javascript.ru/forum/ajax/3717...tml#post245348 |
Цитата:
Код:
Обработчики событий onclick можно заменить на href и с него запускать JS функцию, например: <html> <head> </head> <body> <a href="javascript:createFile();">GoAlert</a> <script> function createFile() { alert('lol'); } </script> </body> </html> Цитата:
Нужно просто заменить 1 строку в коде и подставить там откуда тянуть ваши числа. var setData = document.getElementById('data').value; После = поставить откуда тянуть числа, если это постоянно одно число тогда делаем так: var setData = '01001' Решения по вашей задачи вам дали, вам всего лишь нужно почитать про синтаксис area, т.е. как в теге area выполнить функцию. Данной информации в интернете уйма, не будьте ленивым, тут помогают людям которые сами стремятся решить задачу и не понимают лишь некоторые моменты, вы же пытаетесь скинуть решения на других, если ходите чтоб все сделали за вас тогда вам в раздел РАБОТА. |
Я прошу прощения
Метод INPUT не подходит у меня числа при вызове Createfile должны быть её параметрами. Я не скидываю ни кого работу я просто чайник. |
В продолжении темы:
Возникла необходимость в пересылке файл от клиента на сервер. Объясню в чем суть: Нужно чтобы файл data.txt, который находится в папке на машине клиента скажем (с:\datalogin\data.txt) по нажатию кнопки посылался в папку на сервере (c:\Test\data.txt). Можно ли такое осуществить? |
Цитата:
|
Может быть вам подойдет такой вариант:
<form action="index.php" enctype="multipart/form-data" method="post"> <input type="file" name="file" /> <input type="submit" name="submit" value="Послать файл"/> </form> <?php $path = 'C:/Test/'; // Куда сохранить if(isset($_POST['submit'])) { $file = $_FILES['file']; if($file['error'] == 0) { move_uploaded_file($file['tmp_name'], $path.$file['name']); } } ?>Появится окно где надо будет выбрать файл "руками". |
Большое спасибо за ответ.
Просто с формой я уже пример нашел и выполнил. А можно например без формы чтобы файл посылался командой приведенной ниже.................. <area shape="rect" coords="334,640,390,694" href="#1" onClick="CreateFile();window.open('TraNS.html', 'newWin', 'Toolbar=0, Location=0, Directories=0, Status=0, Menubar=0, Scrollbars=0, Resizable=0, Copyhistory=1, Width=800, Height=600')"> То есть когда нажимается на картинку происходит 2 действия открывается окно и файл посылается. Или только с формой посылается? |
Часовой пояс GMT +3, время: 01:52. |