2012-09-15 62 views
0

我正在寫一個Google Apps腳本Web應用程序(帶有電子表格)如何使用HTML表單中的值在電子表格中設置值?

我想從HTML表單中獲取值並在電子表格中設置一個值。

我寫了這段代碼,但它似乎並沒有工作。有沒有人有一個想法,爲什麼?

來源 - code.gs

function doGet() { 
    var output = HtmlService.createTemplateFromFile('test'); 
    return output.evaluate(); 
} 

function getMsgs(){ 
    var db = ScriptDb.getMyDb(); 
    var result = db.query({type:'msgdata'}).sortBy('num', db.DESCENDING, db.NUMERIC); 
    return result; 
} 

function processForm(form){ 
    var db = ScriptDb.getMyDb(); 
    var n = db.query({type:'msgdata'}).getSize(); 
    var obj = {type:'msgdata',msg:form.text1,num:n}; 
    db.save(obj); 
    var result = db.query({type:'msgdata'}).sortBy('num', db.DESCENDING, db.NUMERIC); 
    var str = ""; 
    while(result.hasNext()){ 
    str = str + '<li>' + result.next().msg + '</li>'; 
    } 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var result = db.query({type:"msgdata"}); 
    var i = 2; 
    while(result.hasNext()){ 
    var data = result.next(); 
    sheet.getRange(i,2).setValue(data.msg); 
    i++; 
    } 


    return str; 
} 

來源 - test.html的

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type"content="text/html; charset=utf-8"> 
<title>Sample jsp</title> 
<style> 
h1 {font-size:16pt; background:#AAFFAA;padding:5px;} 
p {margin:10px;} 
</style> 
<script> 
function onSuccess(res){ 
    var list = document.getElementById("list"); 
    list.innerHTML = res; 
} 
</script> 
</head> 
<body> 
<h1>Sample jsp page</h1> 
<form id='myForm' onsubmit="javascript:return false;"> 
    <input type='text' name='text1'> 
    <input type='button' value='click' onclick='google.script.run.withSuccessHandler(onSuccess).processForm(this.parentNode)'> 
    </form> 
    <hr> 
    <ul id="list"> 
<? 
var res = getMsgs(); 
while(res.hasNext()){ 
output.append('<li>' + res.next().msg + '</li>'); 
} 
?> 
</ul> 
</body> 
</html> 
+0

如果您正在查找問題幷包含相關錯誤消息,則可以更輕鬆地獲得堆棧溢出幫助。 –

回答

相關問題