簡體   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