繁体   English   中英

在Google脚本中使用JavaScript将信息传输到电子表格,但电子表格显示未定义

[英]Using JavaScript in Google Scripts to transfer information to spreadsheet, but spreadsheet shows undefined

我正在使用Google Scripts UiApp来收集可用性信息。 我想将此信息发送到电子表格。 我在这里使用了示例: http : //www.googleappsscript.org/advanced-examples/insert-data-in-sheet-using-ui-forms使我朝着正确的方向开始。

Web应用程序看起来不错,并且在单击提交时,将显示相应的消息。 但是,对于所有条目,传输到电子表格的值都为“未定义”。

我如何说服它将文本框输入的数据链接到变量,以便可以传输到电子表格?

谢谢!!

这是一些代码:

var submissioSSKey = // Key removed

function doGet() {
var rows = 15
var columns = 15
var mygrid = UiApp.createApplication().setTitle("MLC Walk Ins Scheduling")
var panel = mygrid.createSimplePanel();

// Define the grid layout
var grid = mygrid.createGrid(rows, columns).setCellPadding(2).setCellSpacing(8)

// Create the text at the top
var Title = mygrid.createLabel("Walk-In Scheduling")
grid.setWidget(1, 1, Title)

(剪切)-创建各种复选框和文本框

  var text1 = mygrid.createTextBox().setName('name1')
  grid.setWidget(3,9,text1)
  var text6 = mygrid.createTextBox().setName('message1')
  grid.setWidget(4,9,text6)
// Create the "submit" button
 var submit_button = mygrid.createButton("Submit")
grid.setWidget(12,9,submit_button)

 var infoLabel = mygrid.createLabel('Availability inserted    successfully.').setVisible(false).setId('info');
 grid.setWidget(13,9,infoLabel)

var handler = mygrid.createServerClickHandler('insertInSS');
handler.addCallbackElement(panel);
submit_button.addClickHandler(handler);  

panel.add(grid);
mygrid.add(panel);
mygrid.add(grid);
return mygrid
}

然后函数调用按钮:

//Function to insert data in the sheet on clicking the submit button
function insertInSS(e){
var mygrid = UiApp.getActiveApplication()
var name1 = e.parameter.name1
var message1 = e.parameter.message1
 mygrid.getElementById('info').setVisible(true).setStyleAttribute('color','blue')

var sheet = SpreadsheetApp.openById(submissioSSKey).getActiveSheet()
var lastRow = sheet.getLastRow()
var targetRange = sheet.getRange(lastRow+1, 1, 1, 2).setValues([[name1,message1]])

return mygrid
}

啊! 一个简单的解决方案,可以解决很多麻烦。

我有一条额外的线:

mygrid.add(grid);

那是打破它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM