Невозможно распечатать значения, введенные в поля ввода во время печати, sap ui5 - PullRequest
0 голосов
/ 06 ноября 2019

Я создал форму, используя сетку в sapui5, все работает нормально, но после ввода значений в поле ввода и нажатия кнопки «Печать» на экране отображаются только пустые поля ввода. Как распечатать форму с введенными пользователем значениями ввода [Примечание: если значение поля ввода жестко закодировано, значит, оно печатается]. А также я хочу захватить все формы в формате base64 и отправить в бэкэнд. Мне нужна помощь с этим кодом. Вот код:

onPrint: function (oEvent) {
        debugger;

        var linksArray = [];
        var gridId = this.getView().byId("print1--gridUKBol").sId;
        var secId = document.getElementById(gridId).parentNode.id;

        $.each(document.styleSheets, function (index, oStyleSheet) {
            if (oStyleSheet.href) {
                debugger;
                var link = document.createElement("link");
                link.type = oStyleSheet.type;
                link.rel = "stylesheet";
                link.href = oStyleSheet.href;
                linksArray.push(link.href);
                //win.document.getElementsByTagName("head")[0].innerHTML = win.document.getElementsByTagName("head")[0].innerHTML + link.outerHTML;
            }
        });
        var hContent = '<html><head>';
        for (var i = 0; i < linksArray.length; i++) {
            hContent += '<link rel="stylesheet" href=' + linksArray[i] + ' type="text/css" />';
        }
        hContent += '</head><body>';
        var bodyContent = document.getElementById(secId).innerHTML;
        var closeContent = "</body></html>";
        var htmlpage = hContent + bodyContent + closeContent;
        var random_win_name = Math.floor(Math.random() * 10);
        var random_win_height = screen.height / 2;
        var random_win_width = screen.width / 3;
        var Pop_Win = window.open();
        //          var Pop_Win = window.open("", random_win_name, 'height=' + random_win_height + ',width=' + random_win_width);
        Pop_Win.document.write(htmlpage);
}
...