2

我正在使用亿图 Office 查看器组件来打开和编辑文件。我想将我的文件保存到我的目标点,所以我使用 JavaScript 来保存文件。但我被困在一个点上。我在下面显示我的代码以使用 JavaScript 保存文档。

function f_saveDocument(){
    if(document.OA1.IsOpened)           
    {   
    var saveAsFileName = document.getElementById('hdnFileName').value;
    alert(saveAsFileName);
        var fileFormat = saveAsFileName.substring(saveAsFileName.lastIndexOf("."));
        if(fileFormat == '.docx') {
            var toUnLockFile = 'MergeTest'+fileFormat;
            var tempFileLocation = document.OA1.GetTempFilePath(saveAsFileName);
            var tempToUnLockFileLocation = document.OA1.GetTempFilePath(toUnLockFile);
            document.OA1.SaveAs(tempFileLocation,12);
            document.OA1.SaveAs(tempToUnLockFileLocation,12);
            document.OA1.HttpInit();
            document.OA1.HttpAddPostFile(tempFileLocation);
              document.OA1.HttpPost(""); 
            document.OA1.ClearTempFiles();
        } else {
        alert("asdsa");
            document.OA1.HttpInit();
            document.OA1.HttpAddPostOpenedFile(saveAsFileName);
             **zAu.send(new zk.Event(zk.Widget.$('$btnSave'), "saveFile", {'' : {'data' : {'nodeId': ''}}}, {toServer:true}));** 
         alert("moved");
        }

    } 

在 JSP 页面的情况下,我可以将我的 JSP URL 放入,HttpPost但在 ZK 的情况下,如何从这个 JavaScript 转移到 Java 方法。所以为了克服这个问题,我使用 Widget 来调用saveFile()viewmodel班级中的方法。但zAu.send工作不正常。任何人都可以告诉其他解决方案从 ZK MVVM 中的 JavaScript 调用我的 Java 方法吗?

4

1 回答 1

4

您的代码完全错误

zAu.send(new zk.Event(zk.Widget.$('$btnSave'), "onSaveFile", {'' : {'data' : {'nodeId': ''}}}, {toServer:true}));

事件名称必须以开头,on因此这将触发带有 id的onSaveFile
事件。听听ComponentbtnSave

于 2013-02-20T06:55:19.320 回答