title: How to disable a button when clicked?
body: <p>I create a form using the following code</p>
  
  <pre><code>var app = UiApp.createApplication();
  app.setTitle('My Title');
  app.setHeight(150);
  app.setWidth(300);
  
  var form = app.createFormPanel();
  var flow = app.createFlowPanel();
  
  flow.add(app.createHidden("action", action));
  flow.add(app.createLabel('My Label'));
  
  //Submit
  var submit = app.createButton('Run', app.createServerHandler('myFunction').addCallbackElement(form)).setId('run');
  flow.add(submit);
  
  form.add(flow);
  app.add(form);
  
  //return app;
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  spreadsheet.show(app);
  </code></pre>
  
  <p>In <code>myFunction</code>, the button click handler, I try to refer to my button using the following code</p>
  
  <pre><code>function myFunction(e) {
    var app = UiApp.getActiveApplication();
    var submitButton = app.getElementById('run');
    try{
      submitButton.setEnabled(false);
    }finally{
      submitButton.setEnabled(true);
    }
  }
  </code></pre>
  
  <p>But it doesn't work. I get the following execution log (not the Logger.log logging, but I mean the execution logging that can be shown from <strong>View > Execution transcript</strong>)</p>
  
  <pre><code>[14-07-03 11:04:44:091 SAST] Starting execution
  [14-07-03 11:04:44:124 SAST] UiApp.getActiveApplication() [0 seconds]
  [14-07-03 11:04:44:125 SAST] (class).getElementById([fetch]) [0 seconds]
  [14-07-03 11:04:44:125 SAST] (class).setEnabled([false]) [0 seconds]
  [14-07-03 11:04:44:126 SAST] (class).setEnabled([true]) [0 seconds]
  [14-07-03 11:04:44:127 SAST] Execution succeeded [0.002 seconds total runtime]
  </code></pre>
  
  <p>But the button <strong>NEVER</strong> gets disabled ! How can I disable it when its click handler is fired ?</p>