【发布时间】:2016-04-29 14:16:33
【问题描述】:
我有一个提交表单的应用程序。我确信我的代码没问题,但是当我执行应用程序时,我遇到了这个错误:error encountered script bad value。
这是我的两个函数:doGet 写入表单,onSumbit 将表单提交到电子表格中
function doGet()
{
var Myapp= UiApp.createApplication();
var panel=Myapp.createAbsolutePanel().setStyleAttributes({'position':'fixed',
'top':'15%',
'left':'2%',
'height':'300',
'width':'500',});
var NameLabel=Myapp.createLabel().setText('Name');
var NameTb=Myapp.createTextBox().setId('Nameid').setName('Name');
var LastNameLabel=Myapp.createLabel().setText('Last name');
var LastNameTb=Myapp.createTextBox().setId('Lastnameid').setName('LastName');
var emailLABEL=Myapp.createLabel().setText('Email');
var emailtb=Myapp.createTextBox().setName('Email');
var serverHandler=Myapp.createServerHandler('onSubmitForm');
var ButtonSubmit=Myapp.createButton('submit',serverHandler);
serverHandler.addCallbackElement(NameTb).addCallbackElement(LastNameTb).addCallbackElement(emailtb);
var panelButton =Myapp.createFlowPanel().setStyleAttributes({'position': 'fixed',
'border' : '2px solid black',
'top' : '80%',
'left' : '70%',
'width' : '55',
'height':'30'});
Myapp.add(panel);
Myapp.add(panelButton);
panel.add(NameLabel);
panel.add(NameTb);
panel.add(LastNameLabel);
panel.add(LastNameTb);
panel.add(emailLABEL);
panel.add(emailtb);
panelButton.add(ButtonSubmit);
return Myapp;
}
function onSubmitForm(e)
{
var Myapp = UiApp.getActiveApplication();
var sheet =SpreadsheetApp.openById('0Ar2BlsmmO4nZdHN6WXp2akx1QWUzX3lKX19rYzUyRVE&usp').getActiveSheet();
var numRows = sheet.getLastRow();
sheet.getRange("A"+lastRow).setValue(e.parameter.Name);
sheet.getRange("B"+lastRow).setValue(e.parameter.LastName);
sheet.getRange("C"+lastRow).setValue(e.parameter.Email);
return Myapp;
}
感谢您的帮助。
【问题讨论】:
-
newSp 是在哪里定义的?
-
这是我的新提交函数,但我仍然有同样的错误,ps:我有另一个函数 doGet,我在其中编写表单函数 onSubmitForm(e) { var Myapp = UiApp .getActiveApplication(); var sheet =SpreadsheetApp.openById('0Ar2BlsmmO4nZdHN6WXp2akx1QWUzX3lKX19rYzUyRVE&usp').getActiveSheet(); var lastRow = sheet.getLastRow(); sheet.getRange("A"+lastRow).setValue(e.parameter.Name); sheet.getRange("B"+lastRow).setValue(e.parameter.LastName); sheet.getRange("C"+lastRow).setValue(e.parameter.Email);返回我的应用程序; }
-
请使用正确的代码编辑您的帖子,而不是评论...不太可读。
-
没问题,这只是提高您获得适当帮助机会的提示。也就是说,恐怕您显示的代码不是您真实代码的精确副本...... e 定义在哪里?你能展示 doGet 吗?为什么叫“onSubmitForm”???通常应该是 doGet / doPost ......我真的不明白你是如何让它工作的。
-
我会把这两个函数放上来,大家可能会更清楚