我有这种情况。我几个月前完成了一个脚本,该脚本仍在谷歌网站上运行。使用doGet功能是:执行脚本
function doGet(e) {
var myapp = UiApp.createApplication();
var mygrid = myapp.createGrid(5, 2);
var listboxAssociazione=myapp.createListBox().setId("listboxAssociazione").setName("listboxAssociazione");
var labelAssociazione=myapp.createLabel("Associazione").setId("Associazione");
var listboxMeseFatturato=myapp.createListBox().setId("listboxMeseFatturato").setName("listboxMeseFatturato");
var labelMeseFatturato=myapp.createLabel("Mese da fatturare").setId("Mese da fatturare");
var listboxAnnoFatturato=myapp.createListBox().setId("listboxAnnoFatturato").setName("listboxAnnoFatturato");
var labelAnnoFatturato=myapp.createLabel("Anno").setId("Anno");
var buttonCalcola=myapp.createButton().setText("Calcola").setId("CalcolaFattura");
var labelLavoroInCorso=myapp.createLabel("").setId("labelLavoroInCorso").setStyleAttribute('color', 'blue');
mygrid.setWidget(0, 0,labelAssociazione);
mygrid.setWidget(0, 1, listboxAssociazione);
mygrid.setWidget(1, 0, labelMeseFatturato);
mygrid.setWidget(1, 1, listboxMeseFatturato);
mygrid.setWidget(2, 0, labelAnnoFatturato);
mygrid.setWidget(2, 1, listboxAnnoFatturato);
mygrid.setWidget(3, 1, buttonCalcola);
mygrid.setWidget(4, 1, labelLavoroInCorso);
var p=DocsList.getFolders();
var totcartelle = p.length;
var trovato= false;
var cartellaAssociazioni;
for(var j=0;j<totcartelle && trovato==false;j++){
var prova=p[j].getId();
if(p[j].getId()=="0B-H4Ioaio5w5YTg3MGFkOWQtMzYzNy00ZTFhLWEzY2YtZTVlNzIwYWJhMmJm"){
trovato=true;
cartellaAssociazioni=p[j];
}
}
var cartelle =cartellaAssociazioni.getFolders();
var lunghezza = cartelle.length;
for(var i = 0; i < lunghezza; i++) //these arrays are zero based it looks like
{ var prova=cartelle[i].getName();
listboxAssociazione.addItem(prova);
}
//Aggiunta dei mesi alla listbox
listboxMeseFatturato.addItem("Gennaio");
listboxMeseFatturato.addItem("Febbraio");
listboxMeseFatturato.addItem("Marzo");
listboxMeseFatturato.addItem("Aprile");
listboxMeseFatturato.addItem("Maggio");
listboxMeseFatturato.addItem("Giugno");
listboxMeseFatturato.addItem("Luglio");
listboxMeseFatturato.addItem("Agosto");
listboxMeseFatturato.addItem("Settembre");
listboxMeseFatturato.addItem("Ottobre");
listboxMeseFatturato.addItem("Novembre");
listboxMeseFatturato.addItem("Dicembre");
//Aggiunta dell'anno di fatturazione
var d= new Date();
var annoAttuale=parseInt(d.getFullYear());
listboxAnnoFatturato.addItem(""+annoAttuale);
listboxAnnoFatturato.addItem(""+(annoAttuale-1));
var formpanel=myapp.createFormPanel().setId("form");
var serverClickHandler = myapp.createServerClickHandler('GeneraFattura');
serverClickHandler.addCallbackElement(formpanel);
buttonCalcola.addClickHandler(serverClickHandler);
var serverClickHandlerStatus = myapp.createServerClickHandler('ChangeStatus');
serverClickHandlerStatus.addCallbackElement(formpanel);
buttonCalcola.addClickHandler(serverClickHandlerStatus);
formpanel.add(mygrid);
myapp.add(formpanel);
return myapp;
}
//Function to disable the button to avoid double click
function ChangeStatus(e){
var app = UiApp.getActiveApplication();
app.getElementById("labelLavoroInCorso").setText("Attendere! Calcolo della richiesta di pagamento in corso...");
app.getElementById("CalcolaFattura").setEnabled(false);
return app;
}
现在我的问题是,当我在网站上点击按钮“Calcola”,似乎功能“GeneraFattura”跑一定数量的随机时间而不是1
如果我从上面的表格所填报的
var valoreAssociazione = "Volley";
var valoreMese="May";
var valoreAnno = "2012";
,而不是相同的3个参数运行在谷歌网站上的脚本编辑器相同的功能,它工作正常。
当我说它工作正常我的意思是在函数“GeneraFattura”只有一行我复制电子表格。如果我从脚本编辑器运行脚本,则输出是电子表格的一个副本,如果我从网站运行脚本,我会得到5 6份电子表格。
你认为哪里是问题?为什么谷歌网站脚本编辑器执行和脚本执行嵌入在谷歌网站之间的不同行为?
预先感谢您