JS: отправить или перенести входные значения в другой HTML файл? - PullRequest
0 голосов
/ 13 января 2020

Описание:

Я создал этот рабочий процесс: PHP загружает содержимое из базы данных в определенные текстовые области. Пользователь может редактировать и сохранять контент.

Я создал шаблон HTML, который можно распечатать прямо из веб-браузера.

Таким образом, пользователь нажимает кнопку «Печать» и получает хороший шаблон, который можно распечатать прямо из в браузере.

Цель:

Я хочу jQuery или JavaScript для загрузки / переноса содержимого из полей ввода в другой документ HTML на сервер, в определенных div-классах.

Это вообще возможно или хорошая идея?

После этого он загружается и открывается диалог печати веб-браузера.

Настоящий код:

$(document).ready(function() {
    $( ".print-button" ).click(function() {
      $('html').load("./views/print/template-1.html");
      setTimeout(function(){
        window.print(); 
      }, 1000);
    })

    window.onafterprint = function(e){
        $(window).off('mousemove', window.onafterprint);
        window.location.href = window.location.href;
    };

});    

Так шаблон-1. html должен получить данные.

Ответы [ 2 ]

1 голос
/ 13 января 2020

Прежде всего, я думаю, что было бы неплохо поддержать встроенную функциональность браузера. Пользователь должен иметь возможность нажать Ctrl + P или использовать меню, чтобы открыть диалоговое окно печати. ​​

Я бы предложил создать элемент <div>, который скрыто. В некоторых случаях, например при изменении <textarea>, обновите элемент <div> содержимым. Создайте таблицу стилей для печати, где элемент <div> виден, и скройте элементы, которые не предназначены для печати (например, <textarea>).

1 голос
/ 13 января 2020

Согласно описанию вы упомянули, что вы разрешаете PHP загружать данные в определенных текстовых областях и позволяет пользователю обновлять их, поэтому при обновлении этих данных они будут сохраняться в базе данных для эта конкретная текстовая область.

Лучшее, что вы можете здесь сделать, - это сохранить один уникальный ключ для отображаемых данных, а при перенаправлении страницы привязывать уникальный ключ вместе с URL-адресом страницы, поэтому используйте этот ключ в новом На странице, где у вас есть шаблон, вы можете получить данные, используя запрос выбора, и вы можете распечатать данные, где вы хотите.

После слов при печати нажмите шаблон, в котором будут заполнены данные, и пользователь сможет загрузить / распечатать шаблон с данными так, как вы хотели.

Или

Если вы не хотите использовать PHP для получения данных о новом документе, вы можете просто передать объект данных в localstorage, используя следующий способ:

var content= <your data Object>;
localStorage.setItem('print_content', content);

Теперь перед загрузкой диалога получите данные из переменной localstorage и распечатайте их в div или область, где вы хотите. Для получения данных из локального хранилища используйте следующий способ:

var printData = localStorage.getItem('print_content');

, используя printData var, вы сможете получать данные и используя синтаксис jQuery, вы сможете добавлять или отображать данные в div .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...