2017-03-02 4 views
0

Googleのアプリケーションスクリプトのcode.gsからhtmlファイルにオブジェクトを戻したいとします。しかし、私は値を返すことができませんでした。私は値をhtmlインタフェースに表示したい。私は "alert(retsearch [0] .yourname);"で戻り値を取ることができませんでした。 助けてください、ありがとうございます!Googleのアプリケーションスクリプトでオブジェクトを返す方法

Code.gs

function getData() { 
    var ss=SpreadsheetApp.openById('1PWJyASHmjJ_W8-72u8bbrGbN-Nv6kdkCvjdmYuNNlEY'); 
    var sheet=ss.getSheetByName('invoice1'); 
    return sheet; 
} 

function processSearch(searchform){ 
var sheet = getData(); 
var data = ObjApp.rangeToObjects(sheet.getDataRange().getValues()); 
var searchfname=searchform.surname; 
var searchcname=searchform.scustomername; 
var searchpayementdate=searchform.spayementdate; 
var results = []; 
for(var i=0 ; i < data.length ; i++) { 
    if(searchfname == data[i].yourname || searchcname == data[i].customername || searchpayementdate == data[i].paymentday ) { 
     var events ={yourname:data[i].yourname, customername:data[i].customername,paymentday:data[i].paymentday }; 
     results.push(events); 
    } 
    } 
    Logger.log(results); 
    return results; 
} 

HTMLファイル

<form id="fsrecord"> 
<input type="text" name="surname" id="surname" placeholder="by your name"/> <br/> 
<input type="text" name="scustomername" id="scustomername" placeholder="by customer name"/> <br/> 
<input type="date" name="spayementdate" id="spayementdate" placeholder="by payment date"> <br> 
<input type="submit" value="search" /> 
</form> 

<script> 
$(document).ready(function() { 
$("#fsrecord").submit(function() { 
    google.script.run.withSuccessHandler(function(retsearch){ 
    alert(retsearch[0].yourname); 
    }).processSearch(this); 

}); 

}); 

</script> 

答えて

1

あなたは、サーバー側でデータを文字列化し、クライアント側でJSONをパース変換することができます。

code.js

function processSearch(searchform){ 
    ... 
    ... 
    return JSON.stringify(results); 
} 

index.htmlを

$(document).ready(function() { 
    $("#fsrecord").submit(function() { 
     google.script.run.withSuccessHandler(function (retsearch) { 
      var response = JSON.parse(retsearch); 
      alert(response[0].yourname); 
     }).processSearch(this); 
    }); 
}); 
+0

タイプミスがあり、ありがとうございます。警告(retsearch [0] .yourname)は警告(応答[0] .yourname)です。 – Jona

+0

@Jona - ありがとうございます。コードを更新しました。 –

関連する問題