0

このコードは、ラベルの可視性ステータスを変更することになっています...しかし、非表示のままにするのが好きです。rlabelを2 つの異なる方法で定義しようとしたことがわかります。// コメントされたコードを使用すると、未定義のエラーが発生します。私はそれがelseステートメントを実行していることを知っています。御時間ありがとうございます...

function showDialog()  {
var app = UiApp.createApplication();    
var panel = app.createHorizontalPanel();
panel.add(label3);

...
var label3 = app.createLabel("Bad PIN");
label3.setId('BADPIN').setVisible(false);
app.add(panel);
var doc = SpreadsheetApp.getActive();
doc.show(app);
...
    }

わかりましたので、ダイアログ パラメーターがこの関数に渡されます。

function respondtoSubmit(e) {
  var app = UiApp.getActiveApplication();
  ...
  if (loftExists(PINValue)==true) {
     ...
     return app.close(); }
  else {  //show bad pin label 
     var rlabel =app.getElementById('BADPIN');
     rlabel.setVisible(true);        
     Logger.log ("rlabel.setVisible(true); just called");
     }
}
4

3 に答える 3

0

UI の一部の Handler から呼び出されると仮定すると、関数の最後で行うrespondtoSubmit(e)必要があります。return app;これは、GAS がユーザーに対してビューを更新する方法を知っている方法です。

于 2013-02-11T23:24:01.457 に答える
-1

app.createLabel('Bad Pin').setName('BADPIN')フォーム送信時にラベルにアクセスできるようにする必要があります。ID を設定するだけでは不十分です。

于 2013-02-12T00:06:00.123 に答える