Cody Sass
Cody Sass

Reputation: 21

Problems using the Apps Script GUI builder

So I'm currently working on the gui of an item checkout system that runs within a spreadsheet. It does everything it's supposed to and isn't returning anything null, usually I'd be really happy with how it's turning out.

However, I keep getting "error encountered, an unexpected error occured" whenever I press the submit button, after that the rest of the code runs as expected. Every once and a while I'll get no error, but the vast majority of the time it throws the error.

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var menuEntries = [{name: "Equipment Checkout", functionName: "testing"}];
  ss.addMenu("Equipment Checkout", menuEntries);
}

function testing(){
  var app = UiApp.createApplication();
  app.add(app.loadComponent("ImprovedCheckout"));
  var doc = SpreadsheetApp.getActiveSpreadsheet();
  doc.show(app);
}


function submitted(e){
  Browser.msgBox(e.parameter.requestor);
}

This is the simplest version of my code. I'm using the gui builder to create the gui and I'm also using it to make the event handler. I've been banging my head against the wall for the past hour because it seems like the error is happening before the first line of submitted(e) but it doesn't occur until I actually click the submit button. It doesn't happen every time but it does happen the majority of the time.

I imagine I'm handling events from the builder wrong but there is oh so little information on that feature yet.

Upvotes: 0

Views: 647

Answers (4)

Cody Sass
Cody Sass

Reputation: 21

FIGURED IT OUT! Instead of using a submit button, I changed it to just a regular old button. It looks like the submit button was trying to run something else at the same time.

It looks like submit buttons have some additional rules and requirements but for the time being, I'm just using a normal button.

Upvotes: 1

Serge insas
Serge insas

Reputation: 46792

I have got this same error message when using getElementbyId('id") and having a wrong value as ID. The script itself don't really stop and everything might seem normal apart from the action this specific call is supposed to do (but this is not always 'obvious')

Upvotes: 0

Henrique G. Abreu
Henrique G. Abreu

Reputation: 17752

I've seen this error happen when people set two handlers for the same button. Normally one via the GUI editor and another on the code. One works and the other fails. Which gives this crazy impression that it throws an error and yet works.

But since you said this is the exact code you're using. Are you setting multiple handlers on the GUI builder? I don't know even if that's possible, I never use the GUI builder.

Upvotes: 1

mzimmerman
mzimmerman

Reputation: 940

I have had no issues running the code you have supplied. Two things to mention that are key:

  1. Make sure that you're adding a callback element to the ServerHandler with the HTML name of "requestor" as you are using in code.
  2. When you add the callback element, use the ID in the GUI editor. Name != ID

Both Name and ID need to be set in this example.

Upvotes: 0

Related Questions