IBM表单遇到外部库错误:jsPDF

时间:2018-07-02 20:17:00

标签: javascript jquery websphere jspdf ibm-forms

因此,我遵循了将外部js库添加到Forms Experience Builder中的当前标准方法(教程:https://www.youtube.com/watch?v=wRW4vBUT4oM)。

我能够成功添加jquery并运行jquery代码,但是我无法运行jsPDF库,但出现参考错误“ ReferenceError:未定义jsPDF”。

我正在运行onClick生成pdf按钮功能(请参阅:http://54.191.245.162:9080/forms/anon/org/app/f445e78b-fc77-4ef4-80f9-c82cfe207be8/launch/index.html?form=F_Form1

这是我在应用程序启动时的代码

app.getSharedData().loadScript = function (url, callback) {

    var head = document.getElementsByTagName('head')[0];
    var script = document.createElement("script")
        script.type = "text/javascript";
    script.src = url;

    script.onreadystatechange = callback;
    script.onload = callback;

    // Fire the loading
    head.appendChild(script);
}

然后onNew表单事件我正在传递URL和回调函数

var JSPDFurl = 'https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.4.1/jspdf.min.js'
var jqueryURL = 'https://code.jquery.com/jquery-3.3.1.slim.min.js'

app.getSharedData().loadScript(jqueryURL, function () {

    app.getSharedData().loadScript(JSPDFurl, function () {

        function onClick() {

            console.log('on click function is running')
            console.log('JQUERY WORKING', $('.first-name input').val("jay chacko"))

              var pdf = new jsPDF('p', 'pt', 'letter');
              pdf.canvas.height = 72 * 11;
              pdf.canvas.width = 72 * 8.5;
              pdf.fromHTML(document.body);
              pdf.save('test.pdf');
        };

        var element = document.getElementById("clickbind");
        element.addEventListener("click", onClick);

    })
})

1 个答案:

答案 0 :(得分:0)

由于某种原因,最新版本的jsPDF在IBM FORMS中引发错误,可能是内部全局范围冲突。版本1.2.60及更低版本似乎可以正常工作,并且不会引发上述错误。