いいね!数

0

閲覧数
71

以下のフィールドがあります。

TorisageMemoフィールド(編集ボックス)

TorisageMemo_dvフィールド(計算結果フィールド)

「取り下げ」ボタンをクリックすると、以下のcsjsが実行されます。

--(csjs)------------------------------------------------------------------------------------------------------

// 「OK」時の処理開始 + 確認ダイアログの表示
if(window.confirm('取り下げを行います。よろしいですか?')){
    }else{
        return false;
    }

var atai = window.prompt("取り下げ理由を入力し、OKボタンをクリックしてください。\nブランクでOKをクリックした時と、キャンセルをクリックした時は取り下げは中断されます。", "");
    if(atai == ''||atai==null){
    // 空の場合やキャンセルした場合は警告ダイアログを表示
        window.alert('キャンセルされました');
        return false;
    }
    document.getElementById("#{id:TorisageMemo_dv}").innerHTML=atai;--------①

--------------------------------------------------------------------------------------------------------------

 

次に、「取り下げ」ボタンのssjsに以下のコードを書きました。

-(ssjs)---------------------------------------------------------------------------------------------------

var Str=getComoponent("TorisageMemo_dv").getValue();---------------------②

document1.setValue("TorisageMemo",Str)--------------------------③

---------------------------------------------------------------------------------------------------------

①で設定した値を③でセットできると思ったのですが、セットできませんでした。

そもそも②で値が取れません。「取り下げ」ボタンをクリックするときは、文書は読み込みモードで

表示したいと思っています。

どうしたら、①の値をssjsで取得してセットできるでしょうか?

やり方がありましたら教えてください。

よろしくお願い致します。

 

サーバー情報: | クライアント情報: | 
カテゴリ:アプリ開発 - XPages | タグ:
  | 質問日時:Aug 29, 2018, 1:39:19 PM

回答・コメント

いいね!数

0

動作検証したわけではないですが、
計算結果フィールドにバインドされたコントロールに対しての getComoponent().getValue() なので
CSJS上での変更が効いていないのではないかと思いました。

文書を読み込みモードで使用しているということですので、
別に画面編集用の一時的な文書をデータソースに追加してバインドさせるか
フィールドバインドなしの非表示の入力コントロールを利用するなどで対処できないでしょうか?



既に参照済みかもしれませんが、参考情報として過去の類似質問のURLを貼っておきます。

promptの値をデータに保存するボタンを作りたい - QA
https://xpages.jp/QA/qa.nsf/x_anspage.xsp?docId=749FFB5DD572D43049257CEF00210F78

回答日時:Aug 29, 2018, 4:13:00 PM