Перейти к содержимому



Как переделать отправку на печать в сохранение в html

#1

Поделиться сообщением #1



Sveta

Sveta
  • Заблокированные
  • 7 сообщений
  • Репутация: 0
0

Отправлено 03 Март 2014 - 14:10

 Здравствуйте!

Надеюсь, что пишу в правильный раздел)))

 

Есть код, который отправляет содержимое text на печать. Как переделать, чтобы была не отправка на печать, а сохранение в хтмл?

<script>//Печать заказа!function Load(){text = document.getElementById('result').innerHTML;printwin = open('', 'printwin', 'width=800,height=700');printwin.document.open();printwin.document.writeln('<link rel="stylesheet" type="text/css" href="components/com_priceleaf/css/print.css"><body onload=print();close()>');printwin.document.writeln(text);printwin.document.writeln('</body>');printwin.document.close();}</script>

Всем заранее спасибо!


 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Как сделать несложную форму запроса?
  2. Как сохранить изменения, сделанные на странице
  3. Как вставить баннер в 30 страниц HTML
  4. Как изменить что-либо на самописном сайте?
  5. Html шаблон для отправки письма

#2

Поделиться сообщением #2



Sveta

Sveta
    Topic Starter
  • Заблокированные
  • 7 сообщений
  • Репутация: 0

Отправлено 03 Март 2014 - 15:41

Неужели тут нет специалистов, способных помочь мне? :(


  • 0

#3

Поделиться сообщением #3



yury

yury
  • Пользователь
  • 632 сообщений
  • Репутация: 181

Отправлено 03 Март 2014 - 17:30

Есть код, который отправляет содержимое text на печать. Как переделать, чтобы была не отправка на печать, а сохранение в хтмл?

Чистый JS не может работать с файлами (сохранять что-либо в хтмл). Это запрещено из соображений безопасности.
Но в принципе создавать файлы из содержимого веб-страниц и сохранять их на компьютер пользователя возможно. Для этого потребуется выполнение скрипта (например на PHP) на сервере.
По следующей ссылке урок на эту тему: http://dicim.net/soz...javascript.html
  • 1

#4

Поделиться сообщением #4



Sveta

Sveta
    Topic Starter
  • Заблокированные
  • 7 сообщений
  • Репутация: 0

Отправлено 03 Март 2014 - 17:47

Спасибо, Юрий!

 

А с моим кодом никак не получится? Почитаю статью, попробую разобраться. Но если возможно мой код исправить, то это было бы вообще замечательно. :rolleyes:

А не подскажете как мне передать данные с переменной text в этот скрипт? :rolleyes:


  • 0

#5

Поделиться сообщением #5



Sveta

Sveta
    Topic Starter
  • Заблокированные
  • 7 сообщений
  • Репутация: 0

Отправлено 03 Март 2014 - 18:11

Может кто-нибудь подсказать как передать значение переменной text в другую форму, например в save.php?


  • 0

#6

Поделиться сообщением #6



Sveta

Sveta
    Topic Starter
  • Заблокированные
  • 7 сообщений
  • Репутация: 0

Отправлено 04 Март 2014 - 11:37

Еще раз всем здравствуйте!

 

Есть строковая переменная, назовем ее $text, ее значение нужно сохранить в текстовый файл, пусть будет 'save.txt'.

Ребята, миленькие, помогите найти готовое решение. :wub: :rolleyes:


  • 0

#7

Поделиться сообщением #7



Ринат

Ринат
  • Неактивные
  • 756 сообщений
  • Репутация: 50

Отправлено 04 Март 2014 - 20:39

Добрый вечер!

 

У меня в профиле указан скайп, напишите, попробую помочь.


  • 2
Создание и продвижение сайтов


#8

Поделиться сообщением #8



Ixman

Ixman
  • Пользователь PRO
  • 2 590 сообщений
  • Репутация: 626

Отправлено 04 Март 2014 - 21:47

Sveta, смотрите примерно так, но это не совсем подробный код.
1) У вас есть данные в переменной $text и их мы отправим через форму
 
<form action="save.php" method="post">
<input type="hidden" name="text" value="<?=$text;?>" />
<input type="submit" value="Отправить" />
</form>
2) Из формы видно, что мы кидаем данные в файл save.php методом POST. А примерное содержимое файла save.php будет выглядеть так:
 
if (isset($_POST['text'])) {
$fp = fopen('save.txt', 'w');
fwrite($fp, $_POST['text']);
fclose($fp);
echo 'Сохранено';
} else { echo 'Данные не получены'; }
Но не забывайте, что данные нужно фильтровать, ну и проверять в зависимости от их применения и использования. Вот Вам материал о функции fopen(); и там внизу есть ссылки на материал о других нужных Вам функциях.
  • 0


#9

Поделиться сообщением #9



yury

yury
  • Пользователь
  • 632 сообщений
  • Репутация: 181

Отправлено 04 Март 2014 - 22:46

Sveta,

на сколько я понял из кода в вашем первом посте, вам требуется

Дать посетителю возможность скачать содержимое блока с id=result на вашей странице в виде файла

 

Тогда что-то вроде такого решит вашу задачу:

HTML-страничка с блоком result и кнопкой на скачивание файла

<!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=UTF-8" />
</head>
<body>
<div id="result">Этот текст будем записывать в файл для скачивания</div>
<div>А этот не будем</div>
<form action="download.php" method="POST" onsubmit="document.getElementById('content').value = document.getElementById('result').innerHTML;">
<input type="hidden" name="content" id="content" />
<input type="submit" value="Скачать" />
</form>
</body>
</html>

PHP-скрипт генерирующий файл для скачивания:

download.php

<?php
if(empty($_POST['content'])){
    exit;
}
$text = $_POST['content'];
$filename = "download.txt";
header('HTTP/1.1 200 OK');
header('Content-Type: application/force-download');
header('Content-Description: File Transfer');
header("Content-Disposition: attachment; filename=\"$filename\"");
header('Content-Transfer-Encoding: binary');
echo $text;
?>

Сообщение отредактировал yury: 04 Март 2014 - 22:56

  • 0

#10

Поделиться сообщением #10



Sveta

Sveta
    Topic Starter
  • Заблокированные
  • 7 сообщений
  • Репутация: 0

Отправлено 05 Март 2014 - 09:40

Всем спасибо! Мне уже помог Ринат, за это ему огромнейшее СПАСИБО! Сразу ответить не смогла, занималась сайтом.

Ринат мне переделал скрипт и все заработало :wub: :) :wub:


  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru