2014-10-28 13 views
-4

정의되지 않은 "0"속성을 읽을 수 없습니다.정의되지 않은 "0"속성을 읽을 수 없습니다.

나는 정의에서 속성을 "0"을 읽을 수 없습니다 문제

function sendSurvey() { 
    var recipient = Browser.inputBox("Send Survey", "Enter Recipient Email", Browser.Buttons.OK_CANCEL); 
    if (recipient === 'cancel') return; 

    var subject = 'Commuting Survey'; 

    var scriptUrl = ScriptApp.getService().getUrl(); 
    if (!scriptUrl) throw new Error('You must Deploy as Web App first.'); 

    var template = HtmlService.createTemplateFromFile('emailTemplate'); 
    template.scriptUrl = scriptUrl; 
    template.serialNumber = getGUID(); // Generate serial number for this response 
    var html = template.evaluate().getContent(); 
    var plainText = 'Please complete this survey online at: ' + scriptUrl; 
    html += '<p>Alternatively, you may <A href="' + scriptUrl + '"> complete this survey online.</A>'; 

    GmailApp.sendEmail(recipient, subject, plainText, {htmlBody:html}); 

    Browser.msgBox("Survey Sent"); 
} 


function doGet() { 
    // Build survey body 
    var template = HtmlService.createTemplateFromFile('emailTemplate'); 
    template.scriptUrl = ScriptApp.getService().getUrl(); 
    template.serialNumber = getGUID(); // Generate serial number for this response 
    var app = template.evaluate(); 
    return app; 
} 

function doPost(e) { 
    Logger.log(e); 
    var ss = SpreadsheetApp.openById(_spreadsheetId); 
    var sheet = ss.getSheets()[0]; // Assume first sheet collects responses 
    var row = [ 
    new Date(),      // Timestamp 
    e.parameters.serial[0],   // Serial Number 
    e.parameters.pytanie1[0],  // Pytanie 1 
    e.parameters.pytanie2[0],  // Pytanie 2 
    ]; 
    var lock = LockService.getPublicLock(); 
    // Wait for up to 30 seconds for other processes to finish. 
    var locked = lock.tryLock(30000); 

    if (locked) { 
    var rowNum = sheet.getLastRow()+1; 
    sheet.getRange(rowNum, 1, 1, row.length).setValues([row]); 

    // Release the lock so that other processes can continue. 
    lock.releaseLock(); 
    var result = "Response Recorded: \n "+row.join('\n '); 
    } 
    else { 
    // Failed to get lock 
    result = "System busy, please try again."; 
    } 

    // Report result of POST, in plain text 
    return ContentService.createTextOutput(result) 
         .setMimeType(ContentService.MimeType.TEXT); 
} 

를 찾을 수 없습니다.

문제점을 찾을 수 없습니다. 정의되지 않은 "0"속성을 읽을 수 없습니다.

문제점을 찾을 수 없습니다. 정의되지 않은 "0"속성을 읽을 수 없습니다.

문제점을 찾을 수 없습니다. 정의되지 않은 "0"속성을 읽을 수 없습니다.

나는 문제

+3

죄송합니다. 질문 있습니까? – georg

+0

왜 두 문장을 여러 번 반복합니까? – Oriol

+0

브라우저의 [console] (https://developer.chrome.com/devtools/docs/console#opening-the-console)을 열고 오류가 발생한 행을 확인하십시오. – Victor

답변

0

당신은이 문제 중 하나가 찾을 수 없습니다 :

  • ss.getSheets 함수가 반환을 ( 정의되지 않은 나는 것을보고 설명서를 읽은 후 이 가능하지 않음)
  • e.parameters 개체의 속성 중 하나는입니다.
    • 시리얼
    • pytanie1
    • pytanie2는

존재하지 않는 속성입니다 확인할 일부 CONSOLE.LOG에게의를 추가 할 수 있습니다. ..

0

e.parameters.pytanie2 [0]

VAR 후의 행 E 쉼표 (,) =

new Date(),      // Timestamp 
e.parameters.serial[0],   // Serial Number 
e.parameters.pytanie1[0],  // Pytanie 1 
e.parameters.pytanie2[0]**,**  // Pytanie 2 

];

관련 문제