2

Edraw Office Viewer コンポーネントを使用して、ファイルを開いて編集しています。ファイルを保存先に保存したいので、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メソッドに移動する方法. この問題を克服するために、ウィジェットを使用してクラス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あるため、これによりwith idonSaveFile
にイベントが発生します。聞いてみてくださいComponentbtnSave

于 2013-02-20T06:55:19.320 に答える